Hướng dẫn read file csv python - đọc tệp csv python

Tệp CSV là gì?

Tệp CSV là một loại tệp văn bản thuần túy sử dụng cấu trúc cụ thể để sắp xếp dữ liệu dạng bảng. CSV là một định dạng phổ biến để trao đổi dữ liệu vì sự nhỏ gọn, đơn giản và tính khái quát. Nhiều dịch vụ trực tuyến cho phép người dùng xuất dữ liệu dạng bảng từ trang web thành tệp CSV. Các tệp của CSV sẽ mở bằng Excel và gần như tất cả các cơ sở dữ liệu đều có công cụ cho phép nhập từ tệp CSV. Định dạng chuẩn được xác định bởi dữ liệu hàng và cột. Hơn nữa, mỗi hàng được kết thúc bởi một dòng mới để bắt đầu hàng tiếp theo. Cũng trong hàng, mỗi cột được phân tách bằng dấu phẩy.

Trong bài này, bạn sẽ tìm hiểu về:

  • Tệp CSV là gì?

  • Tệp CSV mẫu

  • Mô-đun CSV trong Python

  • Các hàm trong mô-đun CSV

  • Đọc từ tệp CSV

  • Đọc dưới dạng một từ điển

  • Ghi vào tệp CSV

  • Đọc tệp CSV với Pandas

  • Ghi vào tệp CSV bằng Pandas

Tệp CSV mẫu

Mô-đun CSV trong Python

Các hàm trong mô-đun CSV

Đọc từ tệp CSV

Đọc dưới dạng một từ điển

Ghi vào tệp CSV

Đọc tệp CSV với Pandas

Ghi vào tệp CSV bằng Pandas

Dữ liệu ở dạng bảng cũng được gọi là CSV (Comma separated values)- nghĩa là "giá trị được phân tách bằng dấu phẩy". Đây là một định dạng văn bản dành cho việc trình bày dữ liệu dạng bảng. Mỗi dòng của tệp là một dòng của bảng. Các giá trị của các cột riêng lẻ được phân tách bằng ký hiệu dấu phân cách - dấu phẩy (,), dấu chấm phẩy (;) hoặc ký hiệu khác. CSV có thể dễ dàng đọc và xử lý bởi Python.

Xét bảng sau

1991

.py

Bảng dữ liệu

   Ngôn ngữ lập trình

1995

.java

Thiết kế bởi

Xuất hiện

1983

.cpp

Phần mở rộng

   Python

Guido van Rossum

   Java

James Gosling

   C ++

Bjarne Stroustrup

Bạn có thể biểu diễn bảng này trong csv như dưới đây.

Mô-đun CSV trong Python

Các hàm trong mô-đun CSV

Các hàm trong mô-đun CSV

Đọc từ tệp CSV

  • Đọc dưới dạng một từ điển

  • Ghi vào tệp CSV

  • Đọc tệp CSV với Pandas

  • Ghi vào tệp CSV bằng Pandas

  • Dữ liệu ở dạng bảng cũng được gọi là CSV (Comma separated values)- nghĩa là "giá trị được phân tách bằng dấu phẩy". Đây là một định dạng văn bản dành cho việc trình bày dữ liệu dạng bảng. Mỗi dòng của tệp là một dòng của bảng. Các giá trị của các cột riêng lẻ được phân tách bằng ký hiệu dấu phân cách - dấu phẩy (,), dấu chấm phẩy (;) hoặc ký hiệu khác. CSV có thể dễ dàng đọc và xử lý bởi Python.

  • Xét bảng sau

  • Bảng dữ liệu

  •    Ngôn ngữ lập trình - Trích dẫn mọi thứ, không phân biệt kiểu.

  • Thiết kế bởi – Trích dẫn các trường chứa ký tự đặc biệt

  • Xuất hiện - Trích dẫn tất cả các trường không có giá trị số

  • Phần mở rộng - Không trích dẫn bất cứ điều gì ở đầu ra

   Python

Guido van Rossum

   Java

James Gosling

   C ++

#import necessary modules
import csv
with open('X:\data.csv','rt')as f:
  data = csv.reader(f)
  for row in data:
        print(row)

Bjarne Stroustrup

['Programming language; Designed by; Appeared; Extension']
['Python; Guido van Rossum; 1991; .py']
['Java; James Gosling; 1995; .java']
['C++; Bjarne Stroustrup;1983;.cpp']

Bạn có thể biểu diễn bảng này trong csv như dưới đây.

Dữ liệu CSV

Ngôn ngữ lập trình,Thiết kế bởi, Xuất hiện,Định dạng mở rộng

#import necessary modules
import csv

reader = csv.DictReader(open("file2.csv"))
for raw in reader:
    print(raw)

Python, Guido van Rossum, 1991, .py

OrderedDict([('Programming language', 'Python'), ('Designed by', 'Guido van Rossum'), (' Appeared', ' 1991'), (' Extension', ' .py')])
OrderedDict([('Programming language', 'Java'), ('Designed by', 'James Gosling'), (' Appeared', ' 1995'), (' Extension', ' .java')])
OrderedDict([('Programming language', 'C++'), ('Designed by', ' Bjarne Stroustrup'), (' Appeared', ' 1985'), (' Extension', ' .cpp')])

Hướng dẫn read file csv python - đọc tệp csv python

Java, James Gosling, 1995, .java

C ++, Bjarne Stroustrup, 1983, .cpp

 

Như bạn có thể thấy mỗi hàng là một dòng mới và mỗi cột được phân tách bằng dấu phẩy. Đây là một ví dụ cho thấy cách tệp CSV được bố trí.

#import necessary modules
import csv

with open('X:\writeData.csv', mode='w') as file:
    writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)

    #way to write to csv file
    writer.writerow(['Programming language', 'Designed by', 'Appeared', 'Extension'])
    writer.writerow(['Python', 'Guido van Rossum', '1991', '.py'])
    writer.writerow(['Java', 'James Gosling', '1995', '.java'])
    writer.writerow(['C++', 'Bjarne Stroustrup', '1985', '.cpp'])

Python cung cấp một mô-đun CSV để xử lý các tệp CSV. Để đọc / ghi dữ liệu, bạn cần duyệt qua các hàng của CSV. Bạn cần sử dụng phương pháp tách để lấy dữ liệu từ các cột được chỉ định.

Programming language, Designed by, Appeared, Extension 
Python, Guido van Rossum, 1991, .py
Java, James Gosling, 1995, .java
C++, Bjarne Stroustrup,1983,.cpp

Hướng dẫn read file csv python - đọc tệp csv python

Đọc tệp CSV với Pandas

Ghi vào tệp CSV bằng Pandas

Dữ liệu ở dạng bảng cũng được gọi là CSV (Comma separated values)- nghĩa là "giá trị được phân tách bằng dấu phẩy". Đây là một định dạng văn bản dành cho việc trình bày dữ liệu dạng bảng. Mỗi dòng của tệp là một dòng của bảng. Các giá trị của các cột riêng lẻ được phân tách bằng ký hiệu dấu phân cách - dấu phẩy (,), dấu chấm phẩy (;) hoặc ký hiệu khác. CSV có thể dễ dàng đọc và xử lý bởi Python.

Xét bảng sau

#import necessary modules
import pandas
result = pandas.read_csv('X:\data.csv')
print(result)

Bảng dữ liệu

Programming language, Designed by, Appeared, Extension 
0    Python, Guido van Rossum, 1991, .py
1    Java, James Gosling, 1995, .java
2    C++, Bjarne Stroustrup,1983,.cpp	

   Ngôn ngữ lập trình

Ghi vào tệp CSV bằng Pandas

Ghi vào tệp CSV bằng Pandas dễ như đọc. Trước tiên, bạn phải tạo DataFrame dựa trên mã sau đây.

from pandas import DataFrame
C = {'Programming language': ['Python','Java', 'C++'],
        'Designed by': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'],
        'Appeared': ['1991', '1995', '1985'],
        'Extension': ['.py', '.java', '.cpp'],
    }
df = DataFrame(C, columns= ['Programming language', 'Designed by', 'Appeared', 'Extension'])
export_csv = df.to_csv (r'X:\pandaresult.csv', index = None, header=True) # here you have to write path, where result file will be stored
print (df)

in (df)

Đây là đầu ra

Programming language, Designed by, Appeared, Extension
0    Python, Guido van Rossum, 1991, .py
1    Java, James Gosling, 1995, .java
2    C++, Bjarne Stroustrup,1983,.cpp

Và tệp CSV được tạo tại vị trí đã chỉ định.

Hướng dẫn read file csv python - đọc tệp csv python

Tổng kết

Giờ bạn đã biết cách sử dụng hàm 'csv' cũng như việc đọc và ghi dữ liệu ở định dạng CSV. Các tệp CSV được sử dụng rộng rãi trong các ứng dụng phần mềm vì chúng dễ đọc, dễ quản lý. Thêm vào đó, kích thước nhỏ của chúng khiến việc xử lý và truyền đi tương đối nhanh.

Mô-đun csv cung cấp các chức năng và các lớp khác nhau cho phép bạn đọc và ghi dễ dàng. Bạn có thể xem tài liệu Python chính thức để tìm thấy một số mẹo và mô-đun thú vị hơn. CSV là cách tốt nhất để lưu, xem và gửi dữ liệu. Sự thật là việc học nó không khó như bạn nghĩ ban đầu. Và chỉ với việc luyện tập một chút, bạn sẽ dễ dàng thành thạo nó.

Pandas là một thay thế tuyệt vời để đọc các tệp CSV.

Ngoài ra, có nhiều cách khác để phân tích các tệp văn bản với các thư viện như ANTLR, PLY và PlyPlus. Tất cả chúng đều có thể xử lý phân tích cú pháp phức tạp. Trong trường hợp các thao tác với chuỗi đơn giản không thành công, bạn có thể sử dụng các biểu thức chính quy.