Viết chương trình python để đọc từng hàng từ tệp csv đã cho và in danh sách các chuỗi

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ẩy

Nế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 đọc

Phươ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ỗi

import 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]


OrderedDict[[['Số kiểu', 'ST001'], ['Giá', '35000'], ['Số lượng', ' 10'], ['Công ty ', 'Samsung']]]
OrderedDict[[['Model number', 'RW345'], ['Price', '46500'], [' Quantity', ' 14'], [' Company ', ' Onida']]]
OrderedDict[[['Model number', 'EX366'], ['Price', ' 30000'], [' Quantity', ' 8'], [' Company ', ' Lenovo']]]
OrderedDict[[['Model number', 'FU699'], ['Price', ' 45000'], [' Quantity', ' 12'], [' Company ', 'Acer']]]

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ỉnh

cú 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']

Chủ Đề