Dữ liệu dạng văn bản

Đọc dữ liệu văn bản với Python

Đọc dữ liệu văn bản với Python

Câu lệnh đọc các file dữ liệu văn bản như txt và csv bằng Python

Dữ liệu thuần văn bản (Plain Text)

Có hai cách để đọc dữ liệu thuần văn bản (Plain Text) hoặc một file dữ liệu bất kỳ bằng Python.

Cách 1: Mở và đóng file theo trình tự

Với cách này các thao tác được thực hiện như sau:

# Xác định đường dẫn đến file cần đọc
filename = 'huck_finn.txt'

# Mở file
# mode 'r' nghĩa là đọc file (read)
file = open(filename, mode='r')

# Đọc file
text = file.read()

# Thực hiện thao tác với dữ liệu, chẳng hạn in ra màn hình
print(text)

# Đóng file
file.close()

Cách 2: Sử dụng trình quản lý ngữ cảnh 'with'

Với cách này, file sẽ được tự động đóng lại sau khi hoàn tất các thao tác với dữ liệu


# Xác định đường dẫn đến file cần đọc 
filename = 'huck_finn.txt' 

# Dùng open với with 
with open(filename, 'r') as file: 
      text = file.read() 
      print(text)

Đọc file csv với pandas

Thông thường để đọc file csv, bạn sẽ dùng gói thư viện pandas. Pandas là gói thư viện phân tích, chỉnh sửa dữ liệu dạng bảng được sử dụng rộng rãi trong cộng đồng khoa học dữ liệu thế giới. Pandas hỗ trợ tạo bảng dữ liệu (data frame) từ nhiều loại dữ liệu đầu vào khác nhau kể cả csv.

# Khai báo thư viện cần dùng
import pandas as pd

# Xác định đường dẫn đến file
filename = 'winequality-red.csv'

# Đọc dữ liệu với pandas
data = pd.read_csv(filename, header=None, sep='\t')

Giải thích các thông số của hàm read_csv

filepath_or_buffer (str, path object or file-like object): Đường dẫn đến file

header (int, list of int, default ‘infer’): Địa chỉ dòng chứa tên cột trong bảng dữ liệu.

  • None: File dữ liệu không chứa tên cột, tên cột có thể được khai báo riêng tại thông số names
  • 0: Nếu header = 0, pandas sẽ dùng dòng đầu tiên làm tiêu đề từng cột
  • Mặc định 'infer': Trong trường hợp không khai báo, giá trị tại header sẽ là infer. Nếu không có danh sách tên cột được khai báo tại thông số names, dòng đầu tiên trong bảng dữ liệu sẽ được dùng làm tiêu đề cột tương tự như khi header = 0. Nếu danh sách tên cột được khai báo ở thông số names, pandas sẽ sử dụng những tên này tương tự như khi khai báo header = None.

sep (str, default None): Ký tự dùng để phân cách ô dữ liệu trong file

names (array-like, optional): Danh sách tên cột

index_col (int, str, sequence of int / str, or False, default None): Địa chỉ cột được sử dụng làm index (Index là một (hoặc tập hơp) giá trị được dùng để định vị từng dòng trong bảng dữ liệu).

Bạn có thể tham khảo thêm các thông số khác tại đây: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html

   

Sản phẩm của
Be Ready Education Australia

14 Mercantour Boulevard, Tarneit 3029
Melbourne, Victoria, Australia

ABN 80 626 694 344

Log in

Notice: Trying to access array offset on value of type null in /home/datascie/public_html/templates/gk_university/layouts/blocks/tools/login.php on line 21
" /> create an account