Chúng tôi sẽ sử dụng độc quyền mô-đun
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
3 được tích hợp trong Python cho tác vụ này. Nhưng trước tiên, chúng ta sẽ phải nhập mô-đun dưới dạngimport csv
Chúng tôi đã trình bày những điều cơ bản về cách sử dụng mô-đun
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
3 để đọc và ghi vào tệp CSV. Nếu bạn không có bất kỳ ý tưởng nào về việc sử dụng mô-đun import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
3, hãy xem hướng dẫn của chúng tôi về Python CSV. Đọc và ghi tệp CSVCách sử dụng cơ bản của csv. người đọc[]
Hãy xem một ví dụ cơ bản về việc sử dụng
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
6 để làm mới kiến thức hiện có của bạnví dụ 1. Đọc tệp CSV bằng csv. người đọc[]
Giả sử chúng ta có tệp CSV với các mục sau
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming
Chúng ta có thể đọc nội dung của tệp bằng chương trình sau
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
đầu ra
['SN', 'Name', 'Contribution'] ['1', 'Linus Torvalds', 'Linux Kernel'] ['2', 'Tim Berners-Lee', 'World Wide Web'] ['3', 'Guido van Rossum', 'Python Programming']
Ở đây, chúng tôi đã mở các nhà đổi mới. tệp csv ở chế độ đọc bằng hàm
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
7Để tìm hiểu thêm về cách mở tệp bằng Python, hãy truy cập. Nhập/xuất tệp Python
Sau đó,
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
6 được sử dụng để đọc tệp, tệp này trả về một đối tượng import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
9 có thể lặp lạiĐối tượng
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
9 sau đó được lặp lại bằng cách sử dụng vòng lặp ['SN', 'Name', 'Contribution'] ['1', 'Linus Torvalds', 'Linux Kernel'] ['2', 'Tim Berners-Lee', 'World Wide Web'] ['3', 'Guido van Rossum', 'Python Programming']1 để in nội dung của mỗi hàng
Bây giờ, chúng ta sẽ xem xét các tệp CSV với các định dạng khác nhau. Sau đó chúng ta sẽ tìm hiểu cách tùy chỉnh hàm
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
6 để đọc chúngTệp CSV có Dấu phân cách tùy chỉnh
Theo mặc định, dấu phẩy được sử dụng làm dấu phân cách trong tệp CSV. Tuy nhiên, một số tệp CSV có thể sử dụng dấu phân cách ngoài dấu phẩy. Vài cái phổ biến là
['SN', 'Name', 'Contribution'] ['1', 'Linus Torvalds', 'Linux Kernel'] ['2', 'Tim Berners-Lee', 'World Wide Web'] ['3', 'Guido van Rossum', 'Python Programming']3 và
['SN', 'Name', 'Contribution'] ['1', 'Linus Torvalds', 'Linux Kernel'] ['2', 'Tim Berners-Lee', 'World Wide Web'] ['3', 'Guido van Rossum', 'Python Programming']4
Giả sử những người đổi mới. tệp csv trong Ví dụ 1 đang sử dụng tab làm dấu phân cách. Để đọc tệp, chúng ta có thể truyền thêm một tham số
['SN', 'Name', 'Contribution'] ['1', 'Linus Torvalds', 'Linux Kernel'] ['2', 'Tim Berners-Lee', 'World Wide Web'] ['3', 'Guido van Rossum', 'Python Programming']5 cho hàm
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
6Hãy lấy một ví dụ
ví dụ 2. Đọc tệp CSV Có dấu phân cách tab
import csv
8đầu ra
['SN', 'Name', 'Contribution'] ['1', 'Linus Torvalds', 'Linux Kernel'] ['2', 'Tim Berners-Lee', 'World Wide Web'] ['3', 'Guido van Rossum', 'Python Programming']
Như chúng ta có thể thấy, tham số tùy chọn
['SN', 'Name', 'Contribution'] ['1', 'Linus Torvalds', 'Linux Kernel'] ['2', 'Tim Berners-Lee', 'World Wide Web'] ['3', 'Guido van Rossum', 'Python Programming']7 giúp chỉ định đối tượng
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
9 mà tệp CSV chúng ta đang đọc từ đó, có các tab làm dấu phân cáchTệp CSV có khoảng trắng ban đầu
Một số tệp CSV có thể có ký tự khoảng trắng sau dấu phân cách. Khi chúng tôi sử dụng hàm
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
6 mặc định để đọc các tệp CSV này, chúng tôi cũng sẽ nhận được khoảng trắng ở đầu raĐể loại bỏ các khoảng trắng ban đầu này, chúng ta cần truyền một tham số bổ sung có tên là
import csv
80. Chúng ta hãy xem xét một ví dụví dụ 3. Đọc tệp CSV có khoảng trắng ban đầu
Giả sử chúng ta có một tệp CSV có tên là people. csv với nội dung sau
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
4Chúng tôi có thể đọc tệp CSV như sau
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
5đầu ra
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
6Chương trình tương tự như các ví dụ khác nhưng có thêm tham số
import csv
80 được đặt là TrueĐiều này cho phép đối tượng
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
9 biết rằng các mục có khoảng trắng ban đầu. Do đó, các khoảng trắng ban đầu xuất hiện sau khi dấu phân cách bị xóaTệp CSV có dấu ngoặc kép
Một số tệp CSV có thể có dấu ngoặc kép quanh mỗi hoặc một số mục nhập
Hãy trích dẫn. csv làm ví dụ, với các mục sau
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
9Sử dụng
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
6 ở chế độ tối thiểu sẽ dẫn đến đầu ra có dấu ngoặc képĐể loại bỏ chúng, chúng ta sẽ phải sử dụng một tham số tùy chọn khác có tên là
import csv
84Hãy xem một ví dụ về cách đọc chương trình trên
Ví dụ 4. Đọc tệp CSV có dấu ngoặc kép
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming0
đầu ra
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming1
Như bạn có thể thấy, chúng tôi đã chuyển
import csv
85 cho tham số import csv
84. Nó là một hằng số được xác định bởi mô-đun import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
3import csv
85 chỉ định đối tượng trình đọc mà tất cả các giá trị trong tệp CSV đều có trong dấu ngoặc képCó 3 hằng số được xác định trước khác mà bạn có thể chuyển đến tham số
import csv
84['SN', 'Name', 'Contribution'] ['1', 'Linus Torvalds', 'Linux Kernel'] ['2', 'Tim Berners-Lee', 'World Wide Web'] ['3', 'Guido van Rossum', 'Python Programming']
0 - Chỉ định đối tượng
9 mà tệp CSV có dấu ngoặc kép xung quanh các mục 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 bộ kết thúc dòngimport csv with open['innovators.csv', 'r'] as file: reader = csv.reader[file] for row in reader: print[row]
['SN', 'Name', 'Contribution'] ['1', 'Linus Torvalds', 'Linux Kernel'] ['2', 'Tim Berners-Lee', 'World Wide Web'] ['3', 'Guido van Rossum', 'Python Programming']
2 - Chỉ định đối tượng
9 mà tệp CSV có dấu ngoặc kép xung quanh các mục nhập không phải là sốimport csv with open['innovators.csv', 'r'] as file: reader = csv.reader[file] for row in reader: print[row]
['SN', 'Name', 'Contribution'] ['1', 'Linus Torvalds', 'Linux Kernel'] ['2', 'Tim Berners-Lee', 'World Wide Web'] ['3', 'Guido van Rossum', 'Python Programming']
4 - Chỉ định đối tượng người đọc mà không có mục nào có dấu ngoặc kép xung quanh chúng
Phương ngữ trong mô-đun CSV
Lưu ý trong Ví dụ 4 rằng chúng ta đã truyền nhiều tham số [
import csv
84 và import csv
80] cho hàm import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
6Thực hành này được chấp nhận khi xử lý một hoặc hai tệp. Nhưng nó sẽ làm cho mã trở nên thừa và xấu hơn khi chúng ta bắt đầu làm việc với nhiều tệp CSV có định dạng tương tự nhau
Như một giải pháp cho vấn đề này, mô-đun
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
3 cung cấp ['SN', 'Name', 'Contribution'] ['1', 'Linus Torvalds', 'Linux Kernel'] ['2', 'Tim Berners-Lee', 'World Wide Web'] ['3', 'Guido van Rossum', 'Python Programming']9 dưới dạng tham số tùy chọn
Phương ngữ giúp nhóm nhiều mẫu định dạng cụ thể như _______ 75, _______ 180, ________ 184, ________ 243 thành một tên phương ngữ duy nhất
Sau đó, nó có thể được truyền dưới dạng tham số cho nhiều phiên bản
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
44 hoặc import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
9Ví dụ 5. Đọc tệp CSV bằng phương ngữ
Giả sử chúng ta có một tệp CSV [office. csv] với nội dung sau
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming2
Tệp CSV có khoảng trắng ban đầu, dấu ngoặc kép xung quanh mỗi mục nhập và sử dụng dấu phân cách
['SN', 'Name', 'Contribution'] ['1', 'Linus Torvalds', 'Linux Kernel'] ['2', 'Tim Berners-Lee', 'World Wide Web'] ['3', 'Guido van Rossum', 'Python Programming']3
Thay vì chuyển ba mẫu định dạng riêng lẻ, hãy xem cách sử dụng phương ngữ để đọc tệp này
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming3
đầu ra
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming4
Từ ví dụ này, chúng ta có thể thấy rằng hàm
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
47 được sử dụng để xác định phương ngữ tùy chỉnh. Nó có cú pháp sauSN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming5
Phương ngữ tùy chỉnh yêu cầu tên ở dạng chuỗi. Các thông số kỹ thuật khác có thể được thực hiện bằng cách chuyển một lớp con của lớp
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
48 hoặc bằng các mẫu định dạng riêng lẻ như trong ví dụTrong khi tạo đối tượng người đọc, chúng tôi vượt qua
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
49 để chỉ định rằng phiên bản người đọc phải sử dụng phương ngữ cụ thể đóƯu điểm của việc sử dụng
['SN', 'Name', 'Contribution'] ['1', 'Linus Torvalds', 'Linux Kernel'] ['2', 'Tim Berners-Lee', 'World Wide Web'] ['3', 'Guido van Rossum', 'Python Programming']9 là nó làm cho chương trình trở nên mô-đun hơn. Lưu ý rằng chúng tôi có thể sử dụng lại 'myDialect' để mở các tệp khác mà không phải chỉ định lại định dạng CSV
Đọc tệp CSV bằng csv. DictReader[]
Các đối tượng của lớp
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
51 có thể được sử dụng để đọc tệp CSV dưới dạng từ điểnVí dụ 6. Python csv. DictReader[]
Giả sử chúng ta có một tệp CSV [người. csv] với các mục sau
TênTuổiNghề nghiệpJack23Bác sĩMiller22Kỹ sưHãy xem cách sử dụng
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
51SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming6
đầu ra
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming7
Như chúng ta có thể thấy, các mục của hàng đầu tiên là các khóa từ điển. Và, các mục trong các hàng khác là các giá trị từ điển
Ở đây, csv_file là một đối tượng
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
51. Đối tượng có thể được lặp lại bằng cách sử dụng vòng lặp ['SN', 'Name', 'Contribution'] ['1', 'Linus Torvalds', 'Linux Kernel'] ['2', 'Tim Berners-Lee', 'World Wide Web'] ['3', 'Guido van Rossum', 'Python Programming']1.
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
51 trả về loại import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
56 cho mỗi hàng. Đó là lý do tại sao chúng tôi sử dụng import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
57 để chuyển đổi từng hàng thành từ điểnLưu ý rằng chúng ta đã sử dụng rõ ràng phương thức dict[] để tạo từ điển bên trong vòng lặp
['SN', 'Name', 'Contribution'] ['1', 'Linus Torvalds', 'Linux Kernel'] ['2', 'Tim Berners-Lee', 'World Wide Web'] ['3', 'Guido van Rossum', 'Python Programming']1
SN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming8
Ghi chú. Bắt đầu từ Python 3. 8,
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
51 trả về một từ điển cho mỗi hàng và chúng tôi không cần sử dụng rõ ràng import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
57Cú pháp đầy đủ của lớp
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
51 làSN,Name,Contribution 1,Linus Torvalds,Linux Kernel 2,Tim Berners-Lee,World Wide Web 3,Guido van Rossum,Python Programming9
Để tìm hiểu thêm về nó một cách chi tiết, hãy truy cập.
sử dụng csv. lớp đánh hơi
Lớp
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
62 được sử dụng để suy ra định dạng của tệp CSVLớp
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
62 cung cấp hai phương thức
64 - Hàm này phân tích một mẫu nhất định của văn bản CSV và trả về một lớp conimport csv with open['innovators.csv', 'r'] as file: reader = csv.reader[file] for row in reader: print[row]
48 chứa tất cả các tham số được suy raimport csv with open['innovators.csv', 'r'] as file: reader = csv.reader[file] for row in reader: print[row]
Một tham số dấu phân cách tùy chọn có thể được truyền dưới dạng một chuỗi chứa các ký tự dấu phân cách hợp lệ có thể
66 - Hàm này trả vềimport csv with open['innovators.csv', 'r'] as file: reader = csv.reader[file] for row in reader: print[row]
67 hoặcimport csv with open['innovators.csv', 'r'] as file: reader = csv.reader[file] for row in reader: print[row]
68 dựa trên việc phân tích xem CSV mẫu có hàng đầu tiên làm tiêu đề cột hay khôngimport csv with open['innovators.csv', 'r'] as file: reader = csv.reader[file] for row in reader: print[row]
Hãy xem một ví dụ về việc sử dụng các chức năng này
Ví dụ 7. sử dụng csv. Sniffer[] để suy ra phương ngữ của tệp CSV
Giả sử chúng ta có một tệp CSV [office. csv] với nội dung sau
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
0Hãy xem cách chúng ta có thể suy ra định dạng của tệp này bằng cách sử dụng lớp
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
69import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
1đầu ra
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
2Như bạn có thể thấy, chúng tôi chỉ đọc 64 ký tự của văn phòng. csv và lưu trữ nó trong biến mẫu
Mẫu này sau đó được chuyển thành tham số cho hàm
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
90. Nó suy ra rằng hàng đầu tiên phải có tiêu đề cột. Do đó, nó trả về import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
67 sau đó được in raTương tự, mẫu cũng được chuyển đến hàm
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
92. Nó trả về tất cả các tham số được suy ra dưới dạng một lớp con import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
48, sau đó được lưu trữ trong biến dedicted_dialectSau đó, chúng tôi mở lại tệp CSV và chuyển biến
import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
94 làm tham số cho import csv
with open['innovators.csv', 'r'] as file:
reader = csv.reader[file]
for row in reader:
print[row]
6Nó có thể dự đoán chính xác các thông số
['SN', 'Name', 'Contribution'] ['1', 'Linus Torvalds', 'Linux Kernel'] ['2', 'Tim Berners-Lee', 'World Wide Web'] ['3', 'Guido van Rossum', 'Python Programming']5,
import csv
84 và import csv
80 trong văn phòng. csv mà chúng tôi không đề cập rõ ràng đến chúngGhi chú. Mô-đun csv cũng có thể được sử dụng cho các phần mở rộng tệp khác [như. . txt] miễn là nội dung của chúng có cấu trúc phù hợp