Tạo file csv trong python

CSV [Comma Separated Values] hay giá trị được phân tách bằng dấu phẩy] là một định dạng tệp đơn giản được sử dụng để lưu trữ dữ liệu dạng bảng, chẳng hạn như bảng tính hoặc cơ sở dữ liệu. Tệp CSV lưu trữ dữ liệu dạng bảng [số và văn bản] ở dạng văn bản thuần túy. Mỗi dòng của tệp là một bản ghi dữ liệu. 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. Việc sử dụng dấu phẩy làm dấu phân tách trường là nguồn gốc của tên cho định dạng tệp này.

Đối với các tệp CSV hoạt động trong python, có một mô-đun có sẵn gọi là csv .

Cách đọc tệp CSV trong Python

# importing csv module

import csv

# csv file name

filename = "aapl.csv"

# initializing the titles and rows list

fields = []

rows = []

# reading csv file

with open[filename, 'r'] as csvfile:

    # creating a csv reader object

    csvreader = csv.reader[csvfile]

    # extracting field names through first row

    fields = next[csvreader]

    # extracting each data row one by one

    for row in csvreader:

        rows.append[row]

    # get total number of rows

    print["Total no. of rows: %d"%[csvreader.line_num]]

# printing the field names

print['Field names are:' + ', '.join[field for field in fields]]

#  printing first 5 rows

print['\nFirst 5 rows are:\n']

for row in rows[:5]:

    # parsing each column of a row

    for col in row:

        print["%10s"%col],

    print['\n']

Output

Ví dụ về File CSV trong Python

>>> Xem thêm: Câu lệnh if else trong Python - Tất tần tật về câu lệnh if else trong Python

Cấu tạo một file CSV trong Python

Một file CSV gồm 3 phần:

- Phần đầu tiên: tương ứng với cột đầu tiên trong bảng tính, biểu thị tên của các cột, mỗi cột được ngăn cách với nhau bởi dấu phẩy.

- Phần thứ 2: tương ứng với cột cuối cùng trong bảng tính

- Phần thứ 3: bao gồm các dòng có cấu trúc tương đương nhau, tương ứng với nội dung của các cột giá trị trong bảng tính. Lưu ý, mỗi dòng của văn bản là một dòng giá trị khác nhau trên bảng tính. 

Cách đọc file CSV trong Python:

Có nhiều cách khác nhau để đọc tệp CSV sử dụng mô-đun csv hoặc thư viện pandas trong Python.

- Mô-đun csv: Mô-đun CSV là một trong những mô-đun bằng Python cung cấp các lớp để đọc và ghi thông tin dạng bảng ở định dạng tệp CSV.

- Thư viện pandas: Thư viện pandas là một trong những thư viện Python mã nguồn mở cung cấp các cấu trúc dữ liệu thuận tiện, hiệu suất cao và các công cụ và kỹ thuật phân tích dữ liệu cho lập trình Python.

Tệp CSV dưới đây có tên 'Giants.CSV':

Ví dụ về đọc file CSV trong Python

>>> Tham khảo: Khóa học lập trình Python

Sử dụng csv.reader []

 Lúc đầu, tệp CSV được mở bằng phương thức  open[]ở chế độ 'r' [chỉ định chế độ đọc trong khi mở tệp] trả về đối tượng tệp sau đó nó được đọc bằng cách sử dụng phương thức reader[] của mô-đun CSV trả về đối tượng trình đọc lặp lại trong suốt các dòng trong tài liệu CSV được chỉ định.
Lưu ý: Các từ khóa  ' with'  được sử dụng cùng với các phương pháp open [] vì nó đơn giản hoá việc xử lý ngoại lệ và tự động đóng các tập tin CSV.

import csv 

# opening the CSV file 

with open['Giants.csv', mode ='r']as file: 

# reading the CSV file 

csvFile = csv.reader[file] 

# displaying the contents of the CSV file 

for lines in csvFile: 

print[lines] 

Output nhận được:

['Organiztion', 'CEO', 'Established']

['Alphabet', 'Sundar Pichai', '02-Oct-15']

['Microsoft', 'Satya Nadella', '04-Apr-75']

['Aamzon', 'Jeff Bezos', '05-Jul-94']

Trong chương trình trên, phương thức reader [] được sử dụng để đọc tệp Giants.csv ánh xạ dữ liệu thành danh sách.

Sử dụng lớp csv.DictReader []

Tương tự như phương pháp trước, tệp CSV lần đầu tiên được mở bằng phương thức open[] này sau đó được đọc bằng cách sử dụng DictReader, lớp mô-đun csv hoạt động giống như một trình đọc thông thường nhưng ánh xạ thông tin trong tệp CSV vào từ điển. Dòng đầu tiên của tệp bao gồm các khóa từ điển.

import csv

# opening the CSV file

with open['Giants.csv', mode ='r'] as file:

       # reading the CSV file

       csvFile = csv.DictReader[file]

       # displaying the contents of the CSV file

       for lines in csvFile:

            print[lines]

Output

OrderedDict[[[‘Organiztion’, ‘Alphabet’], [‘CEO’, ‘Sundar Pichai’], [‘Established’, ’02-Oct-15′]]]

OrderedDict[[[‘Organiztion’, ‘Microsoft’], [‘CEO’, ‘Satya Nadella’], [‘Established’, ’04-Apr-75′]]]

OrderedDict[[[‘Organiztion’, ‘Aamzon’], [‘CEO’, ‘Jeff Bezos’], [‘Established’, ’05-Jul-94′]]]

Sử dụng phương thức pandas.read_csv []: Rất dễ dàng và đơn giản để đọc tệp CSV bằng các hàm thư viện pandas. Ở đây, phương thức read_csv[] trong  thư viện Pandas được sử dụng để đọc dữ liệu từ tệp CSV.

import pandas

# reading the CSV file

csvFile = pandas.read_csv['Giants.csv']

# displaying the contents of the CSV file

print[csvFile]

Output

Organiztion            CEO Established

0    Alphabet  Sundar Pichai   02-Oct-15

1   Microsoft  Satya Nadella   04-Apr-75

2      Aamzon     Jeff Bezos   05-Jul-94

Kết luận: Bài viết trên đã giúp bạn tìm hiểu về tệp CSV trong Python. Có rất nhiều trang web đưa ra dữ liệu của họ ở định dạng này và tệp CSV cũng được sử dụng rất nhiều trong thế giới kinh doanh. Hy vọng các kiến thức về CSV sẽ hữu ích với bạn trong quá trình học lập trình. Tìm hiểu thêm về các ngôn ngữ lập trình qua các khóa học lập trình bổ ích tại T3H bạn nhé!

Nguồn tham khảo: geeksforgeeks

Chủ Đề