Hướng dẫn delimiter in python csv - dấu phân cách trong csv python

Giả sử tệp CSV của bạn như thế này:

Nội phân chính

  • Nội dung mô -đun
  • Phương ngữ và các tham số định dạng
  • Đối tượng đọc
  • Người viết đối tượng
  • Làm cách nào để đọc tệp CSV trong một dấu phân cách khác?
  • Làm cách nào để đọc một tệp được phân định dấu phẩy trong Python?
  • Delimiter làm gì trong Python CSV?
  • Làm thế nào để bạn sử dụng dấu phân cách trong gấu trúc?

2.12;5.12;3.12
3.1233;4;2
4;4.9696;3
2;5.0344;3
3.59595;4;2
4;4;3.59595
...

Sau đó thay đổi mã của bạn như thế này:

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
7 sẽ là:

array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])

Hiệu quả hơn:

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ';', header = None)
wine_data = numpy.array(wine_data,dtype = numpy.float)

Mã nguồn: lib/csv.py Lib/csv.py


Cái gọi là định dạng CSV (giá trị phân tách bằng dấu phẩy) là định dạng nhập và xuất phổ biến nhất cho bảng tính và cơ sở dữ liệu. Định dạng CSV đã được sử dụng trong nhiều năm trước khi cố gắng mô tả định dạng theo cách được tiêu chuẩn hóa trong RFC 4180. Việc thiếu một tiêu chuẩn được xác định rõ có nghĩa là sự khác biệt tinh tế thường tồn tại trong dữ liệu được tạo ra và tiêu thụ bởi các ứng dụng khác nhau. Những khác biệt này có thể khiến việc xử lý các tệp CSV từ nhiều nguồn. Tuy nhiên, trong khi các trình phân cách và trích dẫn các ký tự khác nhau, định dạng tổng thể tương tự đến mức có thể viết một mô -đun duy nhất có thể thao tác hiệu quả dữ liệu đó, che giấu các chi tiết đọc và viết dữ liệu từ lập trình viên.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.

Mô -đun

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
8 thực hiện các lớp để đọc và ghi dữ liệu bảng theo định dạng CSV. Nó cho phép các lập trình viên nói, Viết dữ liệu này theo định dạng được ưu tiên bởi excel, dữ liệu hoặc đọc dữ liệu từ tệp này được tạo bởi excel, mà không biết các chi tiết chính xác của định dạng CSV được sử dụng bởi Excel. Các lập trình viên cũng có thể mô tả các định dạng CSV được hiểu bởi các ứng dụng khác hoặc xác định các định dạng CSV có mục đích đặc biệt của riêng họ.

Mô -đun

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
8 Các đối tượng
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
0 và
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
1 đọc và ghi các chuỗi. Các lập trình viên cũng có thể đọc và ghi dữ liệu ở dạng từ điển bằng các lớp
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
2 và
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
3.

Xem thêm

PEP 305 - API tệp CSV - CSV File API

Đề xuất tăng cường Python đã đề xuất bổ sung này vào Python.

Nội dung mô -đun

Phương ngữ và các tham số định dạng

Đối tượng đọc(csvfile, dialect='excel', **fmtparams)

Người viết đối tượngiterator protocol and returns a string each time its

array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
7 method is called — file objects and list objects are both suitable. If csvfile is a file object, it should be opened with
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
8. 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
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
9 class or one of the strings returned by the
import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ';', header = None)
wine_data = numpy.array(wine_data,dtype = numpy.float)
0 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 Dialects and Formatting Parameters.

Làm cách nào để đọc tệp CSV trong một dấu phân cách khác?

Làm cách nào để đọc một tệp được phân định dấu phẩy trong Python?

Delimiter làm gì trong Python CSV?(csvfile, dialect='excel', **fmtparams)

Làm thế nào để bạn sử dụng dấu phân cách trong gấu trúc?Dialects and Formatting Parameters section. To make it as easy as possible to interface with modules which implement the DB API, the value

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ';', header = None)
wine_data = numpy.array(wine_data,dtype = numpy.float)
8 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
import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ';', header = None)
wine_data = numpy.array(wine_data,dtype = numpy.float)
9 call. All other non-string data are stringified with
>>> import csv
>>> with open('eggs.csv', newline='') as csvfile:
...     spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
...     for row in spamreader:
...         print(', '.join(row))
Spam, Spam, Spam, Spam, Spam, Baked Beans
Spam, Lovely Spam, Wonderful Spam
0 before being written.

Làm cách nào để đọc một tệp được phân định dấu phẩy trong Python?

Delimiter làm gì trong Python CSV?(name[, dialect[, **fmtparams]])

Làm thế nào để bạn sử dụng dấu phân cách trong gấu trúc?Dialects and Formatting Parameters.

________ 25 ________ 45 (tên) ¶(name)

Xóa phương ngữ được liên kết với tên từ sổ đăng ký phương ngữ. Một

>>> import csv
>>> with open('eggs.csv', newline='') as csvfile:
...     spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
...     for row in spamreader:
...         print(', '.join(row))
Spam, Spam, Spam, Spam, Spam, Baked Beans
Spam, Lovely Spam, Wonderful Spam
6 được nêu ra nếu tên không phải là tên phương ngữ đã đăng ký.

________ 25 ________ 48 (Tên) ¶(name)

Trả về phương ngữ liên quan đến tên. Một

>>> import csv
>>> with open('eggs.csv', newline='') as csvfile:
...     spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
...     for row in spamreader:
...         print(', '.join(row))
Spam, Spam, Spam, Spam, Spam, Baked Beans
Spam, Lovely Spam, Wonderful Spam
6 được nêu ra nếu tên không phải là tên phương ngữ đã đăng ký. Hàm này trả về một
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
9 bất biến.

________ 25 ________ 52 ()()

Trả về tên của tất cả các phương ngữ đã đăng ký.

________ 25 ________ 54 ([new_limit]) ¶([new_limit])

Trả về kích thước trường tối đa hiện tại cho phép bởi trình phân tích cú pháp. Nếu new_limit được đưa ra, điều này sẽ trở thành giới hạn mới.

Mô -đun

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
8 xác định các lớp sau:

Lớp ________ 25 ________ 57 (f, fieldNames = none, restKey = none, restVal = none, dialect = 'excel', *args, ** kwds) ¶(f, fieldnames=None, restkey=None, restval=None, dialect='excel', *args, **kwds)

Tạo một đối tượng hoạt động giống như một trình đọc thông thường nhưng ánh xạ thông tin theo mỗi hàng thành

import csv
with open('eggs.csv', 'w', newline='') as csvfile:
    spamwriter = csv.writer(csvfile, delimiter=' ',
                            quotechar='|', quoting=csv.QUOTE_MINIMAL)
    spamwriter.writerow(['Spam'] * 5 + ['Baked Beans'])
    spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
8 có các khóa được cung cấp bởi tham số tên trường tùy chọn.

Tham số FieldName là một chuỗi. Nếu các tên trường bị bỏ qua, các giá trị trong hàng đầu tiên của tệp F sẽ được sử dụng làm tên trường. Bất kể các tên trường được xác định như thế nào, từ điển bảo tồn thứ tự ban đầu của chúng.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.

Nếu một hàng có nhiều trường hơn các tên trường, dữ liệu còn lại được đặt trong danh sách và được lưu trữ với tên trường được chỉ định bởi RestKey (mặc định là

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ';', header = None)
wine_data = numpy.array(wine_data,dtype = numpy.float)
8). Nếu một hàng không trống có ít trường hơn các tên trường, các giá trị bị thiếu được điền vào với giá trị của restVal (mặc định là
import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ';', header = None)
wine_data = numpy.array(wine_data,dtype = numpy.float)
8).

Tất cả các đối số từ khóa hoặc tùy chọn khác được chuyển đến thể hiện cơ bản

array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
0.

Đã thay đổi trong phiên bản 3.6: Các hàng được trả về hiện thuộc loại

>>> import csv
>>> with open('names.csv', newline='') as csvfile:
...     reader = csv.DictReader(csvfile)
...     for row in reader:
...         print(row['first_name'], row['last_name'])
...
Eric Idle
John Cleese

>>> print(row)
{'first_name': 'John', 'last_name': 'Cleese'}
2.Returned rows are now of type
>>> import csv
>>> with open('names.csv', newline='') as csvfile:
...     reader = csv.DictReader(csvfile)
...     for row in reader:
...         print(row['first_name'], row['last_name'])
...
Eric Idle
John Cleese

>>> print(row)
{'first_name': 'John', 'last_name': 'Cleese'}
2.

Đã thay đổi trong phiên bản 3.8: Các hàng được trả về hiện thuộc loại

import csv
with open('eggs.csv', 'w', newline='') as csvfile:
    spamwriter = csv.writer(csvfile, delimiter=' ',
                            quotechar='|', quoting=csv.QUOTE_MINIMAL)
    spamwriter.writerow(['Spam'] * 5 + ['Baked Beans'])
    spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
8.Returned rows are now of type
import csv
with open('eggs.csv', 'w', newline='') as csvfile:
    spamwriter = csv.writer(csvfile, delimiter=' ',
                            quotechar='|', quoting=csv.QUOTE_MINIMAL)
    spamwriter.writerow(['Spam'] * 5 + ['Baked Beans'])
    spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
8.

Một ví dụ sử dụng ngắn:

>>> import csv
>>> with open('names.csv', newline='') as csvfile:
...     reader = csv.DictReader(csvfile)
...     for row in reader:
...         print(row['first_name'], row['last_name'])
...
Eric Idle
John Cleese

>>> print(row)
{'first_name': 'John', 'last_name': 'Cleese'}
Lớp ________ 25 ________ 65 (f, fieldNames, restVal = '', extrasaction = 'rise', dialect = 'excel', *args, ** kwds)(f, fieldnames, restval='', extrasaction='raise', dialect='excel', *args, **kwds)

Tạo một đối tượng hoạt động giống như một nhà văn thông thường nhưng ánh xạ từ điển lên các hàng đầu ra. Tham số FieldName là

>>> import csv
>>> with open('names.csv', newline='') as csvfile:
...     reader = csv.DictReader(csvfile)
...     for row in reader:
...         print(row['first_name'], row['last_name'])
...
Eric Idle
John Cleese

>>> print(row)
{'first_name': 'John', 'last_name': 'Cleese'}
6 của các khóa xác định thứ tự trong đó các giá trị trong từ điển được truyền đến phương thức
>>> import csv
>>> with open('names.csv', newline='') as csvfile:
...     reader = csv.DictReader(csvfile)
...     for row in reader:
...         print(row['first_name'], row['last_name'])
...
Eric Idle
John Cleese

>>> print(row)
{'first_name': 'John', 'last_name': 'Cleese'}
7 được ghi vào tệp f. Tham số restVal tùy chọn chỉ định giá trị sẽ được viết nếu từ điển bị thiếu một khóa trong các tên trường. Nếu từ điển được chuyển đến phương thức
>>> import csv
>>> with open('names.csv', newline='') as csvfile:
...     reader = csv.DictReader(csvfile)
...     for row in reader:
...         print(row['first_name'], row['last_name'])
...
Eric Idle
John Cleese

>>> print(row)
{'first_name': 'John', 'last_name': 'Cleese'}
7 chứa một khóa không tìm thấy trong các tên trường, tham số phụ thuộc tùy chọn cho biết hành động nào sẽ thực hiện. Nếu nó được đặt thành
>>> import csv
>>> with open('names.csv', newline='') as csvfile:
...     reader = csv.DictReader(csvfile)
...     for row in reader:
...         print(row['first_name'], row['last_name'])
...
Eric Idle
John Cleese

>>> print(row)
{'first_name': 'John', 'last_name': 'Cleese'}
9, giá trị mặc định,
import csv

with open('names.csv', 'w', newline='') as csvfile:
    fieldnames = ['first_name', 'last_name']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'})
    writer.writerow({'first_name': 'Lovely', 'last_name': 'Spam'})
    writer.writerow({'first_name': 'Wonderful', 'last_name': 'Spam'})
0 sẽ được nâng lên. Nếu nó được đặt thành
import csv

with open('names.csv', 'w', newline='') as csvfile:
    fieldnames = ['first_name', 'last_name']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'})
    writer.writerow({'first_name': 'Lovely', 'last_name': 'Spam'})
    writer.writerow({'first_name': 'Wonderful', 'last_name': 'Spam'})
1, các giá trị bổ sung trong từ điển sẽ bị bỏ qua. Bất kỳ đối số từ khóa hoặc tùy chọn nào khác được chuyển đến thể hiện cơ bản
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
1.

Lưu ý rằng không giống như lớp

array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
2, tham số tên trường của lớp
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
3 không phải là tùy chọn.

Một ví dụ sử dụng ngắn:

>>> import csv
>>> with open('names.csv', newline='') as csvfile:
...     reader = csv.DictReader(csvfile)
...     for row in reader:
...         print(row['first_name'], row['last_name'])
...
Eric Idle
John Cleese

>>> print(row)
{'first_name': 'John', 'last_name': 'Cleese'}
Lớp ________ 25 ________ 65 (f, fieldNames, restVal = '', extrasaction = 'rise', dialect = 'excel', *args, ** kwds)

Tạo một đối tượng hoạt động giống như một nhà văn thông thường nhưng ánh xạ từ điển lên các hàng đầu ra. Tham số FieldName là

>>> import csv
>>> with open('names.csv', newline='') as csvfile:
...     reader = csv.DictReader(csvfile)
...     for row in reader:
...         print(row['first_name'], row['last_name'])
...
Eric Idle
John Cleese

>>> print(row)
{'first_name': 'John', 'last_name': 'Cleese'}
6 của các khóa xác định thứ tự trong đó các giá trị trong từ điển được truyền đến phương thức
>>> import csv
>>> with open('names.csv', newline='') as csvfile:
...     reader = csv.DictReader(csvfile)
...     for row in reader:
...         print(row['first_name'], row['last_name'])
...
Eric Idle
John Cleese

>>> print(row)
{'first_name': 'John', 'last_name': 'Cleese'}
7 được ghi vào tệp f. Tham số restVal tùy chọn chỉ định giá trị sẽ được viết nếu từ điển bị thiếu một khóa trong các tên trường. Nếu từ điển được chuyển đến phương thức
>>> import csv
>>> with open('names.csv', newline='') as csvfile:
...     reader = csv.DictReader(csvfile)
...     for row in reader:
...         print(row['first_name'], row['last_name'])
...
Eric Idle
John Cleese

>>> print(row)
{'first_name': 'John', 'last_name': 'Cleese'}
7 chứa một khóa không tìm thấy trong các tên trường, tham số phụ thuộc tùy chọn cho biết hành động nào sẽ thực hiện. Nếu nó được đặt thành
>>> import csv
>>> with open('names.csv', newline='') as csvfile:
...     reader = csv.DictReader(csvfile)
...     for row in reader:
...         print(row['first_name'], row['last_name'])
...
Eric Idle
John Cleese

>>> print(row)
{'first_name': 'John', 'last_name': 'Cleese'}
9, giá trị mặc định,
import csv

with open('names.csv', 'w', newline='') as csvfile:
    fieldnames = ['first_name', 'last_name']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'})
    writer.writerow({'first_name': 'Lovely', 'last_name': 'Spam'})
    writer.writerow({'first_name': 'Wonderful', 'last_name': 'Spam'})
0 sẽ được nâng lên. Nếu nó được đặt thành
import csv

with open('names.csv', 'w', newline='') as csvfile:
    fieldnames = ['first_name', 'last_name']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'})
    writer.writerow({'first_name': 'Lovely', 'last_name': 'Spam'})
    writer.writerow({'first_name': 'Wonderful', 'last_name': 'Spam'})
1, các giá trị bổ sung trong từ điển sẽ bị bỏ qua. Bất kỳ đối số từ khóa hoặc tùy chọn nào khác được chuyển đến thể hiện cơ bản
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
1.

Lưu ý rằng không giống như lớp

array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
2, tham số tên trường của lớp
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
3 không phải là tùy chọn.

import csv

with open('names.csv', 'w', newline='') as csvfile:
    fieldnames = ['first_name', 'last_name']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'})
    writer.writerow({'first_name': 'Lovely', 'last_name': 'Spam'})
    writer.writerow({'first_name': 'Wonderful', 'last_name': 'Spam'})
Lớp ________ 25 ________ 76¶

Lớp

array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
9 là một lớp container có các thuộc tính chứa thông tin về cách xử lý DoubleQuote, Whitespace, Delimiter, v.v. Do thiếu thông số kỹ thuật CSV nghiêm ngặt, các ứng dụng khác nhau tạo ra dữ liệu CSV khác nhau.
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
9 Các trường hợp xác định cách thức hoạt động của
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
0 và ____21.

Tất cả các tên
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
9 có sẵn được trả về bởi
import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ';', header = None)
wine_data = numpy.array(wine_data,dtype = numpy.float)
0 và chúng có thể được đăng ký với các lớp
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
0 và
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
1 cụ thể thông qua các hàm khởi đầu (
import csv

with open('students.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile, dialect='unix')
                                 ^^^^^^^^^^^^^^
5) như thế này:

import csv

with open('students.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile, dialect='unix')
                                 ^^^^^^^^^^^^^^
Lớp ________ 25 ________ 87¶

Lớp
import csv

with open('students.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile, dialect='unix')
                                 ^^^^^^^^^^^^^^
8 xác định các thuộc tính thông thường của tệp CSV do Excel tạo. Nó được đăng ký với tên phương ngữ
import csv

with open('students.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile, dialect='unix')
                                 ^^^^^^^^^^^^^^
9.

Lớp ________ 25 ________ 91¶

Lớp

with open('example.csv', newline='') as csvfile:
    dialect = csv.Sniffer().sniff(csvfile.read(1024))
    csvfile.seek(0)
    reader = csv.reader(csvfile, dialect)
    # ... process CSV file contents here ...
2 xác định các thuộc tính thông thường của tệp được phân phối theo tab do Excel tạo. Nó được đăng ký với tên phương ngữ
with open('example.csv', newline='') as csvfile:
    dialect = csv.Sniffer().sniff(csvfile.read(1024))
    csvfile.seek(0)
    reader = csv.reader(csvfile, dialect)
    # ... process CSV file contents here ...
3.

Lớp ________ 25 ________ 95¶

Lớp

with open('example.csv', newline='') as csvfile:
    dialect = csv.Sniffer().sniff(csvfile.read(1024))
    csvfile.seek(0)
    reader = csv.reader(csvfile, dialect)
    # ... process CSV file contents here ...
6 xác định các thuộc tính thông thường của tệp CSV được tạo trên các hệ thống UNIX, tức là sử dụng
with open('example.csv', newline='') as csvfile:
    dialect = csv.Sniffer().sniff(csvfile.read(1024))
    csvfile.seek(0)
    reader = csv.reader(csvfile, dialect)
    # ... process CSV file contents here ...
7 làm đầu hủy dòng và trích dẫn tất cả các trường. Nó được đăng ký với tên phương ngữ
with open('example.csv', newline='') as csvfile:
    dialect = csv.Sniffer().sniff(csvfile.read(1024))
    csvfile.seek(0)
    reader = csv.reader(csvfile, dialect)
    # ... process CSV file contents here ...
8.

Mới trong phiên bản 3.2.

Lớp ________ 25 ________ 100¶(sample, delimiters=None)

Lớp

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
01 được sử dụng để suy ra định dạng của tệp CSV.

Lớp

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
01 cung cấp hai phương pháp:

  • ________ 103 (mẫu, dấu phân cách = không) ¶

  • Phân tích mẫu đã cho và trả về lớp con

    array([[ 2.12   ,  5.12   ,  3.12   ],
           [ 3.1233 ,  4.     ,  2.     ],
           [ 4.     ,  4.9696 ,  3.     ],
           [ 2.     ,  5.0344 ,  3.     ],
           [ 3.59595,  4.     ,  2.     ],
           [ 4.     ,  4.     ,  3.59595]])
    
    9 phản ánh các tham số được tìm thấy. Nếu tham số DELIMITER tùy chọn được đưa ra, nó được hiểu là một chuỗi chứa các ký tự phân cách hợp lệ có thể có.

Hai mươi hàng sau hàng đầu tiên được lấy mẫu; Nếu hơn một nửa cột + hàng đáp ứng các tiêu chí,

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
05 sẽ được trả về.

Ghi chú

Phương pháp này là một heuristic thô và có thể tạo ra cả tích cực và tiêu cực giả.

Một ví dụ cho

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
01 Sử dụng:

with open('example.csv', newline='') as csvfile:
    dialect = csv.Sniffer().sniff(csvfile.read(1024))
    csvfile.seek(0)
    reader = csv.reader(csvfile, dialect)
    # ... process CSV file contents here ...

Mô -đun

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
8 xác định các hằng số sau:

________ 25 ________ 110¶

Hướng dẫn các đối tượng

array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
1 để trích dẫn tất cả các trường.

________ 25 ________ 113¶

Hướng dẫn các đối tượng

array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
1 chỉ trích dẫn các trường có chứa các ký tự đặc biệt như Delimiter, Quotechar hoặc bất kỳ ký tự nào trong lineterminator.

________ 25 ________ 116¶

Hướng dẫn các đối tượng

array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
1 để trích dẫn tất cả các trường không phải là số.

Hướng dẫn người đọc chuyển đổi tất cả các trường không được trích xuất để gõ float.

________ 25 ________ 119¶

Hướng dẫn các đối tượng

array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
1 không bao giờ trích dẫn các trường. Khi dấu phân cách hiện tại xảy ra trong dữ liệu đầu ra, nó được đi trước bởi ký tự Escapechar hiện tại. Nếu Escapechar không được thiết lập, người viết sẽ tăng
>>> import csv
>>> with open('eggs.csv', newline='') as csvfile:
...     spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
...     for row in spamreader:
...         print(', '.join(row))
Spam, Spam, Spam, Spam, Spam, Baked Beans
Spam, Lovely Spam, Wonderful Spam
6 nếu bất kỳ nhân vật nào yêu cầu trốn thoát đều gặp phải.

Hướng dẫn

array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
0 không thực hiện không xử lý đặc biệt các ký tự trích dẫn.

Mô -đun

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
8 xác định ngoại lệ sau:

Ngoại lệ ________ 25 ________ 125¶

Được nâng lên bởi bất kỳ chức năng nào khi phát hiện lỗi.

Phương ngữ và các tham số định dạng

Để dễ dàng hơn để chỉ định định dạng của các bản ghi đầu vào và đầu ra, các tham số định dạng cụ thể được nhóm lại thành các phương ngữ. Một phương ngữ là một lớp con của lớp

array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
9 có một tập hợp các phương thức cụ thể và một phương thức
import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
27 duy nhất. Khi tạo các đối tượng
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
0 hoặc
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
1, lập trình viên có thể chỉ định một chuỗi hoặc một lớp con của lớp
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
9 làm tham số phương ngữ. Ngoài hoặc thay vì tham số phương ngữ, lập trình viên cũng có thể chỉ định các tham số định dạng riêng lẻ, có cùng tên với các thuộc tính được xác định dưới đây cho lớp
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
9.

Phương ngữ hỗ trợ các thuộc tính sau:

________ 132 ________ 133¶

Một chuỗi một ký tự được sử dụng để tách các trường. Nó mặc định là

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
34.

________ 132 ________ 136¶

Kiểm soát cách các trường hợp của quotechar xuất hiện bên trong một trường nên được trích dẫn. Khi

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
05, nhân vật được nhân đôi. Khi
import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
38, Escapechar được sử dụng làm tiền tố cho quotechar. Nó mặc định là
import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
05.

Trên đầu ra, nếu DoubleQuote là

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
38 và không có Escapechar được đặt,
>>> import csv
>>> with open('eggs.csv', newline='') as csvfile:
...     spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
...     for row in spamreader:
...         print(', '.join(row))
Spam, Spam, Spam, Spam, Spam, Baked Beans
Spam, Lovely Spam, Wonderful Spam
6 sẽ được nâng lên nếu tìm thấy một quotechar trong một trường.

________ 132 ________ 143¶

Một chuỗi một vật nhân được người viết sử dụng để thoát khỏi dấu phân cách nếu trích dẫn được đặt thành

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
44 và quotechar nếu doublequote là
import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
38. Khi đọc, Escapechar loại bỏ bất kỳ ý nghĩa đặc biệt nào khỏi nhân vật sau. Nó mặc định là
import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ';', header = None)
wine_data = numpy.array(wine_data,dtype = numpy.float)
8, vô hiệu hóa việc thoát ra.

________ 132 ________ 148¶

Chuỗi được sử dụng để chấm dứt các dòng được tạo bởi

array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
1. Nó mặc định là
import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
50.

Ghi chú

array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
0 được mã hóa cứng để nhận ra
import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
52 hoặc
with open('example.csv', newline='') as csvfile:
    dialect = csv.Sniffer().sniff(csvfile.read(1024))
    csvfile.seek(0)
    reader = csv.reader(csvfile, dialect)
    # ... process CSV file contents here ...
7 là cuối dòng và bỏ qua lineterminator. Hành vi này có thể thay đổi trong tương lai.

________ 132 ________ 155¶

Một chuỗi một ký tự được sử dụng để trích dẫn các trường chứa các ký tự đặc biệt, chẳng hạn như DELIMITER hoặc QUOTERCHAR hoặc có chứa các ký tự dòng mới. Nó mặc định là

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
56.

________ 132 ________ 158¶

Kiểm soát khi báo giá nên được tạo bởi người viết và được người đọc công nhận. Nó có thể đảm nhận bất kỳ hằng số

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
59 nào (xem nội dung mô -đun phần) và mặc định là
import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
60.Module Contents) and defaults to
import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
60.

________ 132 ________ 162¶

Khi

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
05, khoảng trắng ngay lập tức theo dấu phân cách bị bỏ qua. Mặc định là
import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
38.

________ 132 ________ 166¶

Khi

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
05, tăng ngoại lệ
>>> import csv
>>> with open('eggs.csv', newline='') as csvfile:
...     spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
...     for row in spamreader:
...         print(', '.join(row))
Spam, Spam, Spam, Spam, Spam, Baked Beans
Spam, Lovely Spam, Wonderful Spam
6 trên đầu vào CSV xấu. Mặc định là
import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
38.

Đối tượng đọc

Đối tượng đọc (

array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
2 và các đối tượng được trả về bởi hàm
import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
71) có các phương thức công khai sau:

________ 172 ________ 173 ()()

Trả về hàng tiếp theo của người đọc đối tượng có thể lặp lại dưới dạng danh sách (nếu đối tượng được trả về từ

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
71) hoặc một dict (nếu đó là một thể hiện
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
2), được phân tích cú pháp theo
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
9 hiện tại. Thông thường bạn nên gọi đây là
import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
77.

Đối tượng đọc có các thuộc tính công khai sau:

________ 172 ________ 179¶

Một mô tả chỉ đọc của phương ngữ được sử dụng bởi trình phân tích cú pháp.

________ 172 ________ 181¶

Số lượng dòng đọc từ trình lặp nguồn. Điều này không giống với số lượng hồ sơ được trả về, vì các bản ghi có thể trải rộng nhiều dòng.

Các đối tượng DicTreader có thuộc tính công khai sau:

________ 172 ________ 183¶

Nếu không được truyền dưới dạng tham số khi tạo đối tượng, thuộc tính này sẽ được khởi tạo khi truy cập đầu tiên hoặc khi bản ghi đầu tiên được đọc từ tệp.

Người viết đối tượng

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
84 Đối tượng (
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
3 Các trường hợp và đối tượng được trả về bởi hàm
import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
86) có các phương thức công khai sau. Một hàng phải là một chuỗi hoặc số có thể lặp lại cho các đối tượng
import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
84 và các tên trường ánh xạ từ điển đến các chuỗi hoặc số (bằng cách truyền chúng qua
>>> import csv
>>> with open('eggs.csv', newline='') as csvfile:
...     spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
...     for row in spamreader:
...         print(', '.join(row))
Spam, Spam, Spam, Spam, Spam, Baked Beans
Spam, Lovely Spam, Wonderful Spam
0 trước tiên) cho các đối tượng
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
3. Lưu ý rằng các số phức được viết ra được bao quanh bởi parens. Điều này có thể gây ra một số vấn đề cho các chương trình khác đọc các tệp CSV (giả sử chúng hỗ trợ các số phức tạp).

________ 190 ________ 191 (hàng) ¶(row)

Viết tham số hàng vào đối tượng tệp của người viết, được định dạng theo

array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
9 hiện tại. Trả về giá trị trả về của cuộc gọi cho phương thức ghi của đối tượng tệp bên dưới.

Đã thay đổi trong phiên bản 3.5: Đã thêm hỗ trợ của Iterables tùy ý.Added support of arbitrary iterables.

________ 190 ________ 194 (hàng) ¶(rows)

Viết tất cả các phần tử trong các hàng (có thể lặp lại của các đối tượng hàng như được mô tả ở trên) vào đối tượng tệp của người viết, được định dạng theo phương ngữ hiện tại.

Các đối tượng của người viết có thuộc tính công khai sau:

________ 190 ________ 179¶

Một mô tả chỉ đọc của phương ngữ được sử dụng bởi người viết.

Các đối tượng DictWriter có phương thức công khai sau:

Viết một hàng với các tên trường (như được chỉ định trong hàm tạo) vào đối tượng tệp của người viết, được định dạng theo phương ngữ hiện tại. Trả về giá trị trả về của cuộc gọi

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
97 được sử dụng trong nội bộ.

Mới trong phiên bản 3.2.

Ví dụ;

Ví dụ đơn giản nhất về việc đọc tệp CSV:

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
0

Đọc một tệp có định dạng thay thế:

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
1

Ví dụ viết đơn giản nhất có thể tương ứng là:

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
2

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
98 được sử dụng để mở tệp CSV để đọc, nên tệp sẽ được giải mã thành Unicode bằng cách sử dụng mã hóa mặc định hệ thống (xem
import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
99). Để giải mã một tệp bằng cách sử dụng mã hóa khác, hãy sử dụng đối số
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
00 của Open:

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
3

Điều tương tự cũng áp dụng cho việc viết trong một cái gì đó không phải là mã hóa mặc định của hệ thống: Chỉ định đối số mã hóa khi mở tệp đầu ra.

Đăng ký một phương ngữ mới:

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
4

Sử dụng tiên tiến hơn một chút của người đọc - lỗi bắt và báo cáo:

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
5

Và trong khi mô -đun không trực tiếp hỗ trợ các chuỗi phân tích cú pháp, nó có thể dễ dàng thực hiện:

import pandas, numpy
wine_data = pandas.read_csv('test.csv', sep = ',', header = None)
wine_data_ = wine_data
wine_data = numpy.array([x.split(';') for x in wine_data_[0]], dtype = numpy.float)
wine_data
6

Chú thích

1(1,2)(1,2)

Nếu

array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
8 không được chỉ định, các dòng mới được nhúng bên trong các trường được trích dẫn sẽ không được giải thích chính xác và trên các nền tảng sử dụng các lớp lót
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
02 khi viết thêm
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
03 sẽ được thêm vào. Luôn luôn an toàn khi chỉ định
array([[ 2.12   ,  5.12   ,  3.12   ],
       [ 3.1233 ,  4.     ,  2.     ],
       [ 4.     ,  4.9696 ,  3.     ],
       [ 2.     ,  5.0344 ,  3.     ],
       [ 3.59595,  4.     ,  2.     ],
       [ 4.     ,  4.     ,  3.59595]])
8, vì mô -đun CSV thực hiện xử lý dòng mới (phổ quát) của riêng mình.universal) newline handling.

Làm cách nào để đọc tệp CSV trong một dấu phân cách khác?

Sử dụng "Dữ liệu - từ văn bản" đến các tệp mở..

Mở một tờ Excel mới ..

Nhấp vào tab Dữ liệu, sau đó từ văn bản ..

Chọn tệp CSV có dữ liệu được phân cụm thành một cột ..

Chọn Phân đoạn, sau đó đảm bảo nguồn gốc tệp là UNICode UTF-8 ..

Chọn dấu phẩy (đây là bộ phân cách danh sách mặc định của mối quan hệ). ....

Cuối cùng, nhấp vào Kết thúc ..

Làm cách nào để đọc một tệp được phân định dấu phẩy trong Python?

Các bước để đọc tệp CSV:..

Nhập thư viện CSV. Nhập CSV ..

Mở tệp CSV. Phương thức .Open () trong Python được sử dụng để mở các tệp và trả về một đối tượng tệp. ....

Sử dụng đối tượng CSV.Reader để đọc tệp CSV. csvreader = csv.Reader (tệp).

Trích xuất tên trường. ....

Trích xuất các hàng/hồ sơ. ....

Đóng tệp ..

Delimiter làm gì trong Python CSV?

Các tham số đầu đọc Python CSV tùy chọn Chỉ định ký tự được sử dụng để tách từng trường. Mặc định là dấu phẩy (','). Quotechar chỉ định ký tự được sử dụng để bao quanh các trường chứa ký tự phân cách. Mặc định là một báo giá kép ('"').specifies the character used to separate each field. The default is the comma ( ',' ). quotechar specifies the character used to surround fields that contain the delimiter character. The default is a double quote ( ' " ' ).

Làm thế nào để bạn sử dụng dấu phân cách trong gấu trúc?

Phương thức này sử dụng dấu phẩy ',' như một dấu phân cách mặc định nhưng chúng ta cũng có thể sử dụng dấu phân cách tùy chỉnh hoặc biểu thức thông thường làm dấu phân cách. ... Làm thế nào để đọc tệp CSV đến DataFrame với dấu phân cách tùy chỉnh trong Pandas ?.