# Python Documentation Turkish Translation # Copyright (C) 2001-2023, Python Software Foundation # This file is distributed under the same license as the Python package. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.10\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-12-05 18:31+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: \n" "Language-Team: TURKISH \n" "Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: library/csv.rst:2 msgid ":mod:`csv` --- CSV File Reading and Writing" msgstr "" #: library/csv.rst:9 msgid "**Source code:** :source:`Lib/csv.py`" msgstr "" #: library/csv.rst:17 msgid "" "The so-called CSV (Comma Separated Values) format is the most common import " "and export format for spreadsheets and databases. CSV format was used for " "many years prior to attempts to describe the format in a standardized way " "in :rfc:`4180`. The lack of a well-defined standard means that subtle " "differences often exist in the data produced and consumed by different " "applications. These differences can make it annoying to process CSV files " "from multiple sources. Still, while the delimiters and quoting characters " "vary, the overall format is similar enough that it is possible to write a " "single module which can efficiently manipulate such data, hiding the details " "of reading and writing the data from the programmer." msgstr "" #: library/csv.rst:28 msgid "" "The :mod:`csv` module implements classes to read and write tabular data in " "CSV format. It allows programmers to say, \"write this data in the format " "preferred by Excel,\" or \"read data from this file which was generated by " "Excel,\" without knowing the precise details of the CSV format used by " "Excel. Programmers can also describe the CSV formats understood by other " "applications or define their own special-purpose CSV formats." msgstr "" #: library/csv.rst:35 msgid "" "The :mod:`csv` module's :class:`reader` and :class:`writer` objects read and " "write sequences. Programmers can also read and write data in dictionary " "form using the :class:`DictReader` and :class:`DictWriter` classes." msgstr "" #: library/csv.rst:41 msgid ":pep:`305` - CSV File API" msgstr "" #: library/csv.rst:42 msgid "The Python Enhancement Proposal which proposed this addition to Python." msgstr "" #: library/csv.rst:48 msgid "Module Contents" msgstr "" #: library/csv.rst:50 msgid "The :mod:`csv` module defines the following functions:" msgstr "" #: library/csv.rst:58 msgid "" "Return a reader object which will iterate over lines in the given *csvfile*. " "*csvfile* can be any object which supports the :term:`iterator` protocol and " "returns a string each time its :meth:`!__next__` method is called --- :term:" "`file objects ` and list objects are both suitable. If " "*csvfile* is a file object, it should be opened with ``newline=''``. [1]_ " "An optional *dialect* parameter can be given which is used to define a set " "of parameters specific to a particular CSV dialect. It may be an instance " "of a subclass of the :class:`Dialect` class or one of the strings returned " "by the :func:`list_dialects` function. The other optional *fmtparams* " "keyword arguments can be given to override individual formatting parameters " "in the current dialect. For full details about the dialect and formatting " "parameters, see section :ref:`csv-fmt-params`." msgstr "" #: library/csv.rst:71 msgid "" "Each row read from the csv file is returned as a list of strings. No " "automatic data type conversion is performed unless the ``QUOTE_NONNUMERIC`` " "format option is specified (in which case unquoted fields are transformed " "into floats)." msgstr "" #: library/csv.rst:105 library/csv.rst:212 msgid "A short usage example::" msgstr "" #: library/csv.rst:88 msgid "" "Return a writer object responsible for converting the user's data into " "delimited strings on the given file-like object. *csvfile* can be any " "object with a :func:`write` method. If *csvfile* is a file object, it " "should be opened with ``newline=''`` [1]_. An optional *dialect* parameter " "can be given which is used to define a set of parameters specific to a " "particular CSV dialect. It may be an instance of a subclass of the :class:" "`Dialect` class or one of the strings returned by the :func:`list_dialects` " "function. The other optional *fmtparams* keyword arguments can be given to " "override individual formatting parameters in the current dialect. For full " "details about dialects and formatting parameters, see the :ref:`csv-fmt-" "params` section. To make it as easy as possible to interface with modules " "which implement the DB API, the value :const:`None` is written as the empty " "string. While this isn't a reversible transformation, it makes it easier to " "dump SQL NULL data values to CSV files without preprocessing the data " "returned from a ``cursor.fetch*`` call. All other non-string data are " "stringified with :func:`str` before being written." msgstr "" #: library/csv.rst:117 msgid "" "Associate *dialect* with *name*. *name* must be a string. The dialect can " "be specified either by passing a sub-class of :class:`Dialect`, or by " "*fmtparams* keyword arguments, or both, with keyword arguments overriding " "parameters of the dialect. For full details about dialects and formatting " "parameters, see section :ref:`csv-fmt-params`." msgstr "" #: library/csv.rst:126 msgid "" "Delete the dialect associated with *name* from the dialect registry. An :" "exc:`Error` is raised if *name* is not a registered dialect name." msgstr "" #: library/csv.rst:132 msgid "" "Return the dialect associated with *name*. An :exc:`Error` is raised if " "*name* is not a registered dialect name. This function returns an " "immutable :class:`Dialect`." msgstr "" #: library/csv.rst:138 msgid "Return the names of all registered dialects." msgstr "" #: library/csv.rst:143 msgid "" "Returns the current maximum field size allowed by the parser. If *new_limit* " "is given, this becomes the new limit." msgstr "" #: library/csv.rst:147 msgid "The :mod:`csv` module defines the following classes:" msgstr "" #: library/csv.rst:152 msgid "" "Create an object that operates like a regular reader but maps the " "information in each row to a :class:`dict` whose keys are given by the " "optional *fieldnames* parameter." msgstr "" #: library/csv.rst:156 msgid "" "The *fieldnames* parameter is a :term:`sequence`. If *fieldnames* is " "omitted, the values in the first row of file *f* will be used as the " "fieldnames. Regardless of how the fieldnames are determined, the dictionary " "preserves their original ordering." msgstr "" #: library/csv.rst:161 msgid "" "If a row has more fields than fieldnames, the remaining data is put in a " "list and stored with the fieldname specified by *restkey* (which defaults to " "``None``). If a non-blank row has fewer fields than fieldnames, the missing " "values are filled-in with the value of *restval* (which defaults to " "``None``)." msgstr "" #: library/csv.rst:167 msgid "" "All other optional or keyword arguments are passed to the underlying :class:" "`reader` instance." msgstr "" #: library/csv.rst:170 msgid "Returned rows are now of type :class:`OrderedDict`." msgstr "" #: library/csv.rst:173 msgid "Returned rows are now of type :class:`dict`." msgstr "" #: library/csv.rst:194 msgid "" "Create an object which operates like a regular writer but maps dictionaries " "onto output rows. The *fieldnames* parameter is a :mod:`sequence " "` of keys that identify the order in which values in the " "dictionary passed to the :meth:`writerow` method are written to file *f*. " "The optional *restval* parameter specifies the value to be written if the " "dictionary is missing a key in *fieldnames*. If the dictionary passed to " "the :meth:`writerow` method contains a key not found in *fieldnames*, the " "optional *extrasaction* parameter indicates what action to take. If it is " "set to ``'raise'``, the default value, a :exc:`ValueError` is raised. If it " "is set to ``'ignore'``, extra values in the dictionary are ignored. Any " "other optional or keyword arguments are passed to the underlying :class:" "`writer` instance." msgstr "" #: library/csv.rst:209 msgid "" "Note that unlike the :class:`DictReader` class, the *fieldnames* parameter " "of the :class:`DictWriter` class is not optional." msgstr "" #: library/csv.rst:228 msgid "" "The :class:`Dialect` class is a container class whose attributes contain " "information for how to handle doublequotes, whitespace, delimiters, etc. Due " "to the lack of a strict CSV specification, different applications produce " "subtly different CSV data. :class:`Dialect` instances define how :class:" "`reader` and :class:`writer` instances behave." msgstr "" #: library/csv.rst:234 msgid "" "All available :class:`Dialect` names are returned by :func:`list_dialects`, " "and they can be registered with specific :class:`reader` and :class:`writer` " "classes through their initializer (``__init__``) functions like this::" msgstr "" #: library/csv.rst:247 msgid "" "The :class:`excel` class defines the usual properties of an Excel-generated " "CSV file. It is registered with the dialect name ``'excel'``." msgstr "" #: library/csv.rst:253 msgid "" "The :class:`excel_tab` class defines the usual properties of an Excel-" "generated TAB-delimited file. It is registered with the dialect name " "``'excel-tab'``." msgstr "" #: library/csv.rst:259 msgid "" "The :class:`unix_dialect` class defines the usual properties of a CSV file " "generated on UNIX systems, i.e. using ``'\\n'`` as line terminator and " "quoting all fields. It is registered with the dialect name ``'unix'``." msgstr "" #: library/csv.rst:268 msgid "The :class:`Sniffer` class is used to deduce the format of a CSV file." msgstr "" #: library/csv.rst:270 msgid "The :class:`Sniffer` class provides two methods:" msgstr "" #: library/csv.rst:274 msgid "" "Analyze the given *sample* and return a :class:`Dialect` subclass reflecting " "the parameters found. If the optional *delimiters* parameter is given, it " "is interpreted as a string containing possible valid delimiter characters." msgstr "" #: library/csv.rst:282 msgid "" "Analyze the sample text (presumed to be in CSV format) and return :const:" "`True` if the first row appears to be a series of column headers. Inspecting " "each column, one of two key criteria will be considered to estimate if the " "sample contains a header:" msgstr "" #: library/csv.rst:287 msgid "the second through n-th rows contain numeric values" msgstr "" #: library/csv.rst:288 msgid "" "the second through n-th rows contain strings where at least one value's " "length differs from that of the putative header of that column." msgstr "" #: library/csv.rst:291 msgid "" "Twenty rows after the first row are sampled; if more than half of columns + " "rows meet the criteria, :const:`True` is returned." msgstr "" #: library/csv.rst:296 msgid "" "This method is a rough heuristic and may produce both false positives and " "negatives." msgstr "" #: library/csv.rst:299 msgid "An example for :class:`Sniffer` use::" msgstr "" #: library/csv.rst:308 msgid "The :mod:`csv` module defines the following constants:" msgstr "" #: library/csv.rst:312 msgid "Instructs :class:`writer` objects to quote all fields." msgstr "" #: library/csv.rst:317 msgid "" "Instructs :class:`writer` objects to only quote those fields which contain " "special characters such as *delimiter*, *quotechar* or any of the characters " "in *lineterminator*." msgstr "" #: library/csv.rst:324 msgid "Instructs :class:`writer` objects to quote all non-numeric fields." msgstr "" #: library/csv.rst:326 msgid "Instructs the reader to convert all non-quoted fields to type *float*." msgstr "" #: library/csv.rst:331 msgid "" "Instructs :class:`writer` objects to never quote fields. When the current " "*delimiter* occurs in output data it is preceded by the current *escapechar* " "character. If *escapechar* is not set, the writer will raise :exc:`Error` " "if any characters that require escaping are encountered." msgstr "" #: library/csv.rst:336 msgid "" "Instructs :class:`reader` to perform no special processing of quote " "characters." msgstr "" #: library/csv.rst:338 msgid "The :mod:`csv` module defines the following exception:" msgstr "" #: library/csv.rst:343 msgid "Raised by any of the functions when an error is detected." msgstr "" #: library/csv.rst:348 msgid "Dialects and Formatting Parameters" msgstr "" #: library/csv.rst:350 msgid "" "To make it easier to specify the format of input and output records, " "specific formatting parameters are grouped together into dialects. A " "dialect is a subclass of the :class:`Dialect` class having a set of specific " "methods and a single :meth:`validate` method. When creating :class:`reader` " "or :class:`writer` objects, the programmer can specify a string or a " "subclass of the :class:`Dialect` class as the dialect parameter. In " "addition to, or instead of, the *dialect* parameter, the programmer can also " "specify individual formatting parameters, which have the same names as the " "attributes defined below for the :class:`Dialect` class." msgstr "" #: library/csv.rst:360 msgid "Dialects support the following attributes:" msgstr "" #: library/csv.rst:365 msgid "" "A one-character string used to separate fields. It defaults to ``','``." msgstr "" #: library/csv.rst:370 msgid "" "Controls how instances of *quotechar* appearing inside a field should " "themselves be quoted. When :const:`True`, the character is doubled. When :" "const:`False`, the *escapechar* is used as a prefix to the *quotechar*. It " "defaults to :const:`True`." msgstr "" #: library/csv.rst:375 msgid "" "On output, if *doublequote* is :const:`False` and no *escapechar* is set, :" "exc:`Error` is raised if a *quotechar* is found in a field." msgstr "" #: library/csv.rst:381 msgid "" "A one-character string used by the writer to escape the *delimiter* if " "*quoting* is set to :const:`QUOTE_NONE` and the *quotechar* if *doublequote* " "is :const:`False`. On reading, the *escapechar* removes any special meaning " "from the following character. It defaults to :const:`None`, which disables " "escaping." msgstr "" #: library/csv.rst:389 msgid "" "The string used to terminate lines produced by the :class:`writer`. It " "defaults to ``'\\r\\n'``." msgstr "" #: library/csv.rst:394 msgid "" "The :class:`reader` is hard-coded to recognise either ``'\\r'`` or ``'\\n'`` " "as end-of-line, and ignores *lineterminator*. This behavior may change in " "the future." msgstr "" #: library/csv.rst:401 msgid "" "A one-character string used to quote fields containing special characters, " "such as the *delimiter* or *quotechar*, or which contain new-line " "characters. It defaults to ``'\"'``." msgstr "" #: library/csv.rst:408 msgid "" "Controls when quotes should be generated by the writer and recognised by the " "reader. It can take on any of the :const:`QUOTE_\\*` constants (see " "section :ref:`csv-contents`) and defaults to :const:`QUOTE_MINIMAL`." msgstr "" #: library/csv.rst:415 msgid "" "When :const:`True`, spaces immediately following the *delimiter* are " "ignored. The default is :const:`False`." msgstr "" #: library/csv.rst:421 msgid "" "When ``True``, raise exception :exc:`Error` on bad CSV input. The default is " "``False``." msgstr "" #: library/csv.rst:425 msgid "Reader Objects" msgstr "" #: library/csv.rst:427 msgid "" "Reader objects (:class:`DictReader` instances and objects returned by the :" "func:`reader` function) have the following public methods:" msgstr "" #: library/csv.rst:432 msgid "" "Return the next row of the reader's iterable object as a list (if the object " "was returned from :func:`reader`) or a dict (if it is a :class:`DictReader` " "instance), parsed according to the current :class:`Dialect`. Usually you " "should call this as ``next(reader)``." msgstr "" #: library/csv.rst:438 msgid "Reader objects have the following public attributes:" msgstr "" #: library/csv.rst:442 msgid "A read-only description of the dialect in use by the parser." msgstr "" #: library/csv.rst:447 msgid "" "The number of lines read from the source iterator. This is not the same as " "the number of records returned, as records can span multiple lines." msgstr "" #: library/csv.rst:451 msgid "DictReader objects have the following public attribute:" msgstr "" #: library/csv.rst:455 msgid "" "If not passed as a parameter when creating the object, this attribute is " "initialized upon first access or when the first record is read from the file." msgstr "" #: library/csv.rst:462 msgid "Writer Objects" msgstr "" #: library/csv.rst:464 msgid "" ":class:`Writer` objects (:class:`DictWriter` instances and objects returned " "by the :func:`writer` function) have the following public methods. A *row* " "must be an iterable of strings or numbers for :class:`Writer` objects and a " "dictionary mapping fieldnames to strings or numbers (by passing them " "through :func:`str` first) for :class:`DictWriter` objects. Note that " "complex numbers are written out surrounded by parens. This may cause some " "problems for other programs which read CSV files (assuming they support " "complex numbers at all)." msgstr "" #: library/csv.rst:475 msgid "" "Write the *row* parameter to the writer's file object, formatted according " "to the current :class:`Dialect`. Return the return value of the call to the " "*write* method of the underlying file object." msgstr "" #: library/csv.rst:479 msgid "Added support of arbitrary iterables." msgstr "" #: library/csv.rst:484 msgid "" "Write all elements in *rows* (an iterable of *row* objects as described " "above) to the writer's file object, formatted according to the current " "dialect." msgstr "" #: library/csv.rst:488 msgid "Writer objects have the following public attribute:" msgstr "" #: library/csv.rst:493 msgid "A read-only description of the dialect in use by the writer." msgstr "" #: library/csv.rst:496 msgid "DictWriter objects have the following public method:" msgstr "" #: library/csv.rst:501 msgid "" "Write a row with the field names (as specified in the constructor) to the " "writer's file object, formatted according to the current dialect. Return the " "return value of the :meth:`csvwriter.writerow` call used internally." msgstr "" #: library/csv.rst:506 msgid "" ":meth:`writeheader` now also returns the value returned by the :meth:" "`csvwriter.writerow` method it uses internally." msgstr "" #: library/csv.rst:514 msgid "Examples" msgstr "" #: library/csv.rst:516 msgid "The simplest example of reading a CSV file::" msgstr "" #: library/csv.rst:524 msgid "Reading a file with an alternate format::" msgstr "" #: library/csv.rst:532 msgid "The corresponding simplest possible writing example is::" msgstr "" #: library/csv.rst:539 msgid "" "Since :func:`open` is used to open a CSV file for reading, the file will by " "default be decoded into unicode using the system default encoding (see :func:" "`locale.getpreferredencoding`). To decode a file using a different " "encoding, use the ``encoding`` argument of open::" msgstr "" #: library/csv.rst:550 msgid "" "The same applies to writing in something other than the system default " "encoding: specify the encoding argument when opening the output file." msgstr "" #: library/csv.rst:553 msgid "Registering a new dialect::" msgstr "" #: library/csv.rst:560 msgid "" "A slightly more advanced use of the reader --- catching and reporting " "errors::" msgstr "" #: library/csv.rst:572 msgid "" "And while the module doesn't directly support parsing strings, it can easily " "be done::" msgstr "" #: library/csv.rst:581 msgid "Footnotes" msgstr "" #: library/csv.rst:582 msgid "" "If ``newline=''`` is not specified, newlines embedded inside quoted fields " "will not be interpreted correctly, and on platforms that use ``\\r\\n`` " "linendings on write an extra ``\\r`` will be added. It should always be " "safe to specify ``newline=''``, since the csv module does its own (:term:" "`universal `) newline handling." msgstr ""