Đọc hàng và cột csv python
Định dạng được gọi là CSV (Giá trị được 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 chuẩn hóa trong RFC 4180. Việc thiếu một tiêu chuẩn được xác định rõ ràng có nghĩa là những khác biệt tinh tế thường tồn tại trong dữ liệu được tạo ra và sử dụng bởi các ứng dụng khác nhau. Những khác biệt này có thể gây khó chịu khi xử lý tệp CSV từ nhiều nguồn. Tuy nhiên, trong khi các dấu phân cách và ký tự trích dẫn khác nhau, định dạng tổng thể tương tự nhau đủ để có thể viết một mô-đun duy nhất có thể thao tác dữ liệu đó một cách hiệu quả, ẩn các chi tiết đọc và ghi dữ liệu khỏi lập trình viên. Show
Mô-đun 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'])3 triển khai các lớp để đọc và ghi dữ liệu dạng bảng ở định dạng CSV. Nó cho phép các lập trình viên nói, "ghi dữ liệu này ở định dạng ưa thích của Excel" hoặc "đọc dữ liệu từ tệp này được tạo bởi Excel" mà không cần 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 mà các ứng dụng khác hiểu được hoặc xác định các định dạng CSV có mục đích đặc biệt của riêng họ Các đối tượng 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'])6 và 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'])7 của mô-đun 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'])3 đọc và ghi các trình tự. 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ách sử dụng các lớp 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 và 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'])9 Xem thêm PEP 305 - API tệp CSVĐề xuất cải tiến Python đã đề xuất bổ sung này cho Python Nội dung mô-đun¶Mô-đun 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'])3 xác định các chức năng saucsv. trình đọc(csvfile , phương ngữ='excel', **fmtparams)¶ Trả về đối tượng trình đọc sẽ lặp qua các dòng trong tệp csv đã cho. csvfile có thể là bất kỳ đối tượng nào hỗ trợ giao thức iterator và trả về một chuỗi mỗi khi 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'}1 của nó được gọi — file . Nếu csvfile là một đối tượng tệp, nó sẽ được mở bằng >>> 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. 1 Có thể cung cấp một tham số phương ngữ tùy chọn được sử dụng để xác định một tập hợp các tham số dành riêng cho một phương ngữ CSV cụ thể. Nó có thể là một thể hiện của một lớp con của lớp >>> 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'}3 hoặc một trong các chuỗi được trả về bởi hàm >>> 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'}4. Các đối số từ khóa fmtparams tùy chọn khác có thể được cung cấp để ghi đè các tham số định dạng riêng lẻ trong phương ngữ hiện tại. Để biết chi tiết đầy đủ về phương ngữ và tham số định dạng, hãy xem phần and list objects are both suitable. If csvfile is a file object, it should be opened with >>> 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. 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 >>> 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'}3 class or one of the strings returned by the >>> 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'}4 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 Phương ngữ và tham số định dạng . Mỗi hàng được đọc từ tệp csv được trả về dưới dạng danh sách các chuỗi. Không có chuyển đổi loại dữ liệu tự động nào được thực hiện trừ khi tùy chọn định dạng >>> 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'}5 được chỉ định (trong trường hợp đó, các trường không được trích dẫn sẽ được chuyển đổi thành số thực) Một ví dụ sử dụng ngắn 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'])2csv. người viết(csvfile , phương ngữ='excel', **fmtparams)¶ Trả về một đối tượng nhà văn chịu trách nhiệm chuyển đổi dữ liệu của người dùng thành các chuỗi được phân tách trên đối tượng giống như tệp đã cho. csvfile có thể là bất kỳ đối tượng nào có 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'}6. Nếu csvfile là một đối tượng tệp, nó sẽ được mở bằng >>> 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 1. Có thể cung cấp một tham số phương ngữ tùy chọn được sử dụng để xác định một tập hợp các tham số dành riêng cho một phương ngữ CSV cụ thể. Nó có thể là một thể hiện của một lớp con của lớp >>> 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'}3 hoặc một trong các chuỗi được trả về bởi hàm >>> 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'}4. Các đối số từ khóa fmtparams tùy chọn khác có thể được cung cấp để ghi đè các tham số định dạng riêng lẻ trong phương ngữ hiện tại. Để biết chi tiết đầy đủ về phương ngữ và tham số định dạng, hãy xem phần Phương ngữ và tham số định dạng . Để giao tiếp với các mô-đun triển khai API DB dễ dàng nhất có thể, giá trị 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'])70 được viết dưới dạng chuỗi trống. Mặc dù đây không phải là phép chuyển đổi có thể đảo ngược, nhưng nó giúp kết xuất giá trị dữ liệu SQL NULL sang tệp CSV dễ dàng hơn mà không cần xử lý trước dữ liệu được trả về từ lệnh gọ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'])71. Tất cả dữ liệu không phải chuỗi khác được xâu chuỗi bằng 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'])72 trước khi được ghi. Một ví dụ sử dụng ngắn 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'])csv. register_dialect(tên[ , dialect[, **fmtparams]])¶ Liên kết phương ngữ với tên. tên phải là một chuỗi. Phương ngữ có thể được chỉ định bằng cách chuyển một lớp con của >>> 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'}3 hoặc bằng các đối số từ khóa fmtparams hoặc cả hai, với các đối số từ khóa ghi đè các tham số của phương ngữ. Để biết đầy đủ chi tiết về phương ngữ và tham số định dạng, hãy xem phần Phương ngữ và tham số định dạng . csv. unregister_dialect(tên) ¶ Xóa phương ngữ được liên kết với tên khỏi sổ đăng ký phương ngữ. Một 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'])74 được nâng lên nếu tên không phải là tên phương ngữ đã đăng kýcsv. get_dialect(tên) ¶ Trả lại phương ngữ được liên kết với tên. Một 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'])74 được nâng lên nếu tên không phải là tên phương ngữ đã đăng ký. Hàm này trả về một >>> 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'}3 không thay đổicsv. list_dialects() ¶ Trả lại tên của tất cả các phương ngữ đã đăng ký csv. field_size_limit([new_limit])¶Trả về kích thước trường tối đa hiện tại được trình phân tích cú pháp cho 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 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'])3 định nghĩa các lớp saulớp csv. DictReader(f , tên trường=None, restkey=None, restval=None, dialect='excel', *args, **kwds)¶ Tạo một đối tượng hoạt động như một trình đọc thông thường nhưng ánh xạ thông tin trong mỗi hàng tới một 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'])78 có các khóa được cung cấp bởi tham số tên trường tùy chọn Tham số tên trường là một trình tự . Nếu 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ể tên trường được xác định như thế nào, từ điển sẽ giữ nguyên thứ tự ban đầu của chúng. Nếu một hàng có nhiều trường hơn tên trường, thì dữ liệu còn lại sẽ được đưa vào danh sách và được lưu trữ với tên trường được chỉ định bởi phím đặt lại (mặc định là 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'])70). Nếu một hàng không trống có ít trường hơn tên trường, các giá trị còn thiếu sẽ được điền vào bằng giá trị của restval (giá trị này mặc định là 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'])70) Tất cả các đối số tùy chọn hoặc từ khóa khác được chuyển đến phiên bản 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'])6 bên dưới Đã 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('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'])02. Đã 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'])78. 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 csv. DictWriter(f , tên trường, restval='', extrasaction='raise', dialect='excel', *args, **kwds)¶ Tạo một đối tượng hoạt động giống như một trình ghi thông thường nhưng ánh xạ từ điển lên các hàng đầu ra. Tham số tên trường là một 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'])04 khóa xác định thứ tự các giá trị trong từ điển được truyền cho phương thức 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'])05 được ghi vào tệp f. Tham số restval tùy chọn chỉ định giá trị sẽ được ghi nếu từ điển thiếu khóa trong tên trường. Nếu từ điển được chuyển đến phương thức 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'])05 chứa khóa không tìm thấy trong tên trường, tham số bổ sung tùy chọn cho biết hành động cần thực hiện. Nếu nó được đặt 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'])07, giá trị mặc định, một 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'])08 sẽ được nâng lên. Nếu nó được đặt 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'])09, các giá trị bổ sung trong từ điển sẽ bị bỏ qua. Bất kỳ đối số tùy chọn hoặc từ khóa nào khác được chuyển đến đối tượng 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'])7 bên dưới Lưu ý rằng không giống như lớp 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, tham số tên trường của lớp 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'])9 không phải là tùy chọn Một ví dụ sử dụng ngắn 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'])7lớp csv. Phương ngữ ¶ Lớp >>> 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'}3 là lớp chứa có thuộc tính chứa thông tin về cách xử lý dấu ngoặc kép, khoảng trắng, dấu phân cách, 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 một cách tinh vi. Phiên bả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'}3 xác định cách hoạt động của phiên bản 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'])6 và 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'])7 Tất cả các tê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'}3 có sẵn được trả về bở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'}4 và chúng có thể được đăng ký với các lớp 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'])6 và 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'])7 cụ thể thông qua các hàm khởi tạo ( 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'])11) của chúng như thế này 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'])0lớp csv. excel ¶ Lớp 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'])12 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('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'])13lớp csv. excel_tab ¶ Lớp 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'])14 xác định các thuộc tính thông thường của tệp được phân định bằng TAB do Excel tạo. Nó được đăng ký với tên phương ngữ 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'])15lớp csv. unix_dialect ¶ Lớp 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'])16 định nghĩa các thuộc tính thông thường của tệp CSV được tạo trên hệ thống UNIX, tôi. e. sử dụng 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'])17 làm dấu kết thúc 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ữ 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'])18 Mới trong phiên bản 3. 2 lớp csv. Người đánh hơi ¶Lớp 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'])19 được sử dụng để suy ra định dạng của tệp CSV Lớp 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'])19 cung cấp hai phương thứcsniff(mẫu , dấu phân cách=None)¶ Phân tích mẫu đã cho và trả về một phân lớp >>> 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'}3 phản ánh các tham số được tìm thấy. Nếu tham số dấu phân cách tùy chọn được đưa ra, nó được hiểu là một chuỗi chứa các ký tự dấu phân cách hợp lệ có thể cóhas_header(mẫu) ¶ Phân tích văn bản mẫu (được cho là ở định dạng CSV) và trả về 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'])32 nếu hàng đầu tiên có vẻ là một loạt tiêu đề cột. Kiểm tra từng cột, một trong hai tiêu chí chính sẽ được xem xét để ước tính xem mẫu có chứa tiêu đề hay không
Hai mươi hàng sau hàng đầu tiên được lấy mẫu; Ghi chú Phương pháp này là một heuristic thô và có thể tạo ra cả dương tính giả và âm tính Một ví dụ cho việc sử dụng 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'])19 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'])6 Mô-đun 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'])3 xác định các hằng số saucsv. QUOTE_ALL ¶ Hướng dẫn đối tượng 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'])7 trích dẫn tất cả các trườngcsv. QUOTE_MINIMAL ¶ Hướng dẫn các đối tượng 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'])7 chỉ trích dẫn những trường có chứa các ký tự đặc biệt như dấu phân cách, ký tự trích dẫn hoặc bất kỳ ký tự nào trong lineterminatorcsv. QUOTE_NONNUMERIC ¶ Hướng dẫn các đối tượng 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'])7 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 dẫn để nhập float csv. QUOTE_NONE ¶Hướng dẫn các đối tượng 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'])7 không bao giờ trích dẫn các trường. Khi dấu phân cách hiện tại xuất hiện trong dữ liệu đầu ra, nó được bắt đầu bằng ký tự thoát hiện tại. Nếu không đặt ký tự thoát, người viết sẽ tăng 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'])74 nếu gặp phải bất kỳ ký tự nào yêu cầu thoát Hướng dẫn 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'])6 không thực hiện xử lý đặc biệt các ký tự trích dẫn Mô-đun 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'])3 xác định ngoại lệ saungoại lệ csv. Lỗi ¶ Tă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à tham số định dạng¶Để dễ dàng chỉ định định dạng của bản ghi đầu vào và đầu ra, các tham số định dạng cụ thể được nhóm lại với nhau thành các phương ngữ. Một phương ngữ là một lớp con của lớp >>> 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'}3 có một tập hợp các phương thức cụ thể và một 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'}64 duy nhất. Khi tạo các đối tượng 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'])6 hoặc 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'])7, 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 >>> 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'}3 làm tham số phương ngữ. Ngoài, hoặc thay cho 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 bên dưới cho lớp >>> 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'}3 Các phương ngữ hỗ trợ các thuộc tính sau Phương ngữ. dấu phân cách ¶Chuỗi một ký tự được sử dụng để phân tách các trường. Nó mặc định 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'}69Phương ngữ. trích dẫn kép ¶ Kiểm soát cách các phiên bản của quotechar xuất hiện bên trong một trường sẽ được trích dẫn. Khi 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'])32, ký tự được nhân đôi. Khi >>> 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'}31, ký tự thoát được sử dụng làm tiền tố cho ký tự trích dẫn. Nó mặc định là 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'])32 Ở đầu ra, nếu doublequote 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'}31 và không có ký tự thoát nào được đặt, thì 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'])74 được nâng lên nếu tìm thấy ký tự trích dẫn trong một trườngPhương ngữ. ký tự thoát ¶ Chuỗi một ký tự đượ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 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'}35 và ký tự trích dẫn nếu trích dẫn kép 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'}31. Khi đọc, ký tự thoát sẽ xóa mọi ý nghĩa đặc biệt khỏi ký tự sau. Nó mặc định là 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'])70, vô hiệu hóa việc thoát Đã thay đổi trong phiên bản 3. 11. Không được phép sử dụng ký tự thoát rỗng. Phương ngữ. lineterminator ¶Chuỗi được sử dụng để kết thúc các dòng được tạo bở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'])7. Nó mặc định 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'}39 Ghi chú 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'])6 được mã hóa cứng để nhận ra 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'])01 hoặc 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'])17 là cuối dòng và bỏ qua bộ kết thúc dòng. Hành vi này có thể thay đổi trong tương laiPhương ngữ. báo giá ¶ Chuỗi một ký tự được sử dụng để trích dẫn các trường chứa ký tự đặc biệt, chẳng hạn như dấu phân cách hoặc ký tự trích dẫn hoặc chứa ký tự xuống dòng. Nó mặc định là 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'])03 Đã thay đổi trong phiên bản 3. 11. Không được phép sử dụng ký tự trích dẫn trống. Phương ngữ. trích dẫn ¶Kiểm soát thời điểm người viết tạo trích dẫn và người đọc nhận ra. Nó có thể nhận bất kỳ hằng số 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'])04 nào (xem phần Nội dung mô-đun ) và mặc định là 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'])05. Phương ngữ. bỏ qua dấu cách ¶ Khi 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'])32, khoảng trắng ngay sau dấu phân cách sẽ bị bỏ qua. Mặc định 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'}31Phương ngữ. nghiêm ngặt ¶ Khi 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'])32, tăng ngoại lệ 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'])74 đối với đầu vào CSV không hợp lệ. Mặc định 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'}31 Đối tượng người đọc¶Đối tượng reader (_______08 thể hiện và đối tượng được trả về bởi hàm 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'])12) có các phương thức công khai saucsvreader. __next__() ¶ Trả về hàng tiếp theo của đối tượng có thể lặp lại của trình đọc dưới dạng danh sách (nếu đối tượng được trả về từ 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'])12) hoặc lệnh (nếu đó là phiên bản 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 phân tích cú pháp theo >>> 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'}3 hiện tại. Thông thường bạn nên gọi đây là 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'])16 Đối tượng người đọc có các thuộc tính công khai sau csvreader. phương ngữ ¶Mô tả chỉ đọc của phương ngữ được trình phân tích cú pháp sử dụng csvreader. line_num ¶Số dòng được đọc từ trình lặp nguồn. Điều này không giống với số lượng bản ghi được trả về, vì bản ghi có thể trải rộng trên nhiều dòng Các đối tượng DictReader có thuộc tính public sau csvreader. tên trường ¶Nếu không được truyền dưới dạng tham số khi tạo đối tượng, thì thuộc tính này được khởi tạo khi truy cập lần đầu hoặc khi bản ghi đầu tiên được đọc từ tệp Đối tượng nhà văn¶Đối tượng 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'])17 (_______09 thể hiện và đối tượng được trả về bởi hàm 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'])19) 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 đối với đối tượng 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'])17 và tên trường ánh xạ từ điển thành chuỗi hoặc số (bằng cách chuyển chúng qua 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'])72 trước) đối với đối tượng 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'])9. Lưu ý rằng các số phức được viết ra bao quanh bởi dấu ngoặc đơn. Điều này có thể gây ra một số sự cố đối với các chương trình khác đọc tệp CSV (giả sử chúng hoàn toàn hỗ trợ các số phức)csvwriter. nhà văn(hàng) ¶ Viết tham số hàng vào đối tượng tệp của người viết, được định dạng theo >>> 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'}3 hiện tại. Trả lại giá trị trả về của lệnh gọi 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ợ cho các lần lặp tùy ý. csvwriter. hàng viết(hàng) ¶Ghi tất cả các thành phần trong hàng (một đối tượng hàng có thể lặp lại 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 nhà văn có thuộc tính công khai sau csvwriter. phương ngữ ¶Một mô tả chỉ đọc về phương ngữ được sử dụng bởi nhà văn Các đối tượng DictWriter có phương thức công khai sau DictWriter. tiêu đề ghi() ¶Viết một hàng 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 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'])24 được sử dụng nội bộ Mới trong phiên bản 3. 2 Đã thay đổi trong phiên bản 3. 8. ______025 bây giờ cũng trả về giá trị được trả về bởi phương thức 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'])24 mà nó sử dụng nội bộ. Ví dụ¶Ví dụ đơn giản nhất về đọc tệp CSV 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'])1 Đọc một tệp có định dạng thay thế 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'])3 Ví dụ viết đơn giản nhất có thể tương ứng 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 Vì 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'])27 được sử dụng để mở tệp CSV để đọc, theo mặc định, tệp sẽ được giải mã thành unicode bằng cách sử dụng mã hóa mặc định của hệ thống (xem 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'])28). Để giải mã tệp bằng mã hóa khác, hãy sử dụng đối số 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'])29 của open >>> 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'}3 Điều tương tự cũng áp dụng cho việc viết bằng thứ 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 Cách đọc các hàng và cột cụ thể CSV Python?Bước 1. Để đọc các hàng trong Python, trước tiên, chúng ta cần tải tệp CSV trong một đối tượng. Vì vậy, để tải tệp csv vào một đối tượng, hãy sử dụng phương thức open(). Bước 2. Tạo đối tượng trình đọc bằng cách chuyển đối tượng tệp đã tạo ở trên cho hàm trình đọc. Bước 3. Sử dụng vòng lặp for trên đối tượng đầu đọc để lấy từng hàng
Làm cách nào tôi có thể đọc một cột cụ thể của một hàng cụ thể của tệp CSV bằng Python?Sử dụng gấu trúc. read_csv() để đọc một cột cụ thể từ tệp CSV . Để đọc tệp CSV, hãy gọi pd. read_csv(file_name, usecols=cols_list) với file_name là tên của tệp CSV, dấu phân cách là dấu phân cách và cols_list là danh sách các cột cụ thể để đọc từ tệp CSV.
Hàng và cột trong CSV là gì?Mỗi hàng trong tệp CSV đại diện cho một tập hợp các giá trị được phân tách bằng dấu phân cách cụ thể . Tất cả các hàng đều đồng nhất, nghĩa là mỗi hàng có cùng số lượng giá trị. Các giá trị từ tất cả các hàng có cùng chỉ mục tạo một cột. Các giá trị trong một cột đại diện cho cùng một loại dữ liệu.
Phương pháp nào được sử dụng để đọc một hàng trong tệp CSV Python?Việc đọc từ tệp CSV được thực hiện bằng cách sử dụng đối tượng trình đọc . Tệp CSV được mở dưới dạng tệp văn bản với hàm open() tích hợp sẵn của Python, hàm này trả về một đối tượng tệp. |