Trong bài viết này, chúng ta sẽ tìm hiểu các cách khác nhau để đọc tệp CSV bằng Python. Chúng tôi sẽ sử dụng một số mô-đun và thư viện tích hợp có sẵn trong Python cũng như một số ví dụ tùy chỉnh có liên quan. Chúng tôi sẽ so sánh các tệp văn bản và tệp CSV với các ví dụ. Trước tiên, hãy xem nhanh dạng đầy đủ của CSV, giới thiệu về CSV, sau đó xem các ví dụ sau hiển thị các mô-đun phân tích cú pháp khác nhau để đọc tài liệu CSV trong Python
CSV là gì?
CSV là viết tắt của
import csv
with open['model.csv'] as file:
data = csv.reader[file]
for row in data:
print[row]
0. Tệp sử dụng ký tự phân cách được gọi là dấu phân cách để phân tách từng giá trị. CSV là định dạng điển hình để trao đổi thông tin vì nó nhỏ hơn, đơn giản và tổng quát. Mỗi dòng của tệp là một bản ghi dữ liệu. Định dạng tiêu chuẩn của bản ghi dữ liệu được xác định bởi các hàng và cột. Mỗi bản ghi bao gồm một hoặc nhiều trường, được phân tách bằng dấu phẩyNếu chúng ta lấy một bảng có hàng nghìn dữ liệu,. tệp csv có khả năng phân tách các giá trị bằng dấu phẩy thành các trường hoặc cột có thể phân biệt được. Thông thường, dòng đầu tiên cho biết tiêu đề hoặc tên cột của dữ liệu và sau đó tập dữ liệu thực tế được liệt kê
Tệp CSV mẫu
Model number,Price,Quantity,Company
ST001,35000,10,Samsung
RW345,46500,14,Onida
EX366,30000,8,Lenovo
FU699,45000,12,Acer
Xử lý CSV trong python là bắt buộc do tập dữ liệu lớn trong python. Thư viện CSV cung cấp chức năng cho cả đọc và ghi vào tệp CSV, sau đó phân tích dữ liệu bằng thư viện python và các chức năng được xác định trước của chúng
Ví dụ. Đọc tệp CSV bằng Mô-đun CSV
Để đọc dữ liệu từ tệp CSV, chúng ta phải sử dụng chức năng trình đọc để tạo đối tượng trình đọc. Chúng tôi sử dụng hàm
import csv
with open['model.csv'] as file:
data = csv.reader[file]
for row in data:
print[row]
1 của python để mở tệp văn bản, hàm này trả về một đối tượng tệp. Điều này sau đó được chuyển đến người đọcPhương thức
import csv
with open['model.csv'] as file:
data = csv.reader[file]
for row in data:
print[row]
2 trả về một đối tượng trình đọc sẽ lặp qua từng dòng trong tệp CSV đã cho. Mỗi hàng được đọc từ tệp CSV được trả về dưới dạng danh sách các chuỗiimport csv
with open['model.csv'] as file:
data = csv.reader[file]
for row in data:
print[row]
Số kiểu,Giá,Số lượng,Công ty
ST001,35000,10,Samsung
RW345,46500,14,Onida
EX366,30000,8,Lenovo
FU699,45000,12,Acer
Ví dụ. Đọc tệp CSV bằng CSV. Chức năng DictReader[]
Thay vì in danh sách các thành phần Chuỗi riêng lẻ, dữ liệu CSV có thể được in trực tiếp dưới dạng từ điển được sắp xếp. Dòng đầu tiên của tệp CSV được cho là chứa các khóa sẽ sử dụng để tạo từ điển
Hàm
import csv
with open['model.csv'] as file:
data = csv.reader[file]
for row in data:
print[row]
3 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 từ điển có các khóa được cung cấp bởi tham số tên trường tùy chọn#import necessary modules
import csv
data = csv.DictReader[open["model.csv"]]
for row in data:
print[row]
Ví dụ. Đọc tệp CSV bằng CSV. Chức năng DictReader[]
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. Hàm
import csv
with open['model.csv'] as file:
data = csv.reader[file]
for row in data:
print[row]
4 được sử dụng để xác định phương ngữ tùy chỉnhcú pháp
csv.register_dialect[name[, dialect[, **fmtparams]]]
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['model.csv'] as file:
data = csv.reader[file]
for row in data:
print[row]
0 hoặc bằng các mẫu định dạng riêng lẻimport csv
csv.register_dialect['myDialect', delimiter='|', skipinitialspace=True, quoting=csv.QUOTE_ALL]
with open['model.csv', 'r'] as csvfile:
reader = csv.reader[csvfile, dialect='myDialect']
for row in reader:
print[row]
['Số kiểu', 'Giá', 'Số lượng', 'Công ty']
["ST001", '35000', '10', 'Samsung']