Cách phân tích các tệp CSV trong Python

Bình luận: 0

Phân tích dữ liệu được định nghĩa là một bộ sưu tập và xử lý thông tin tự động, thường được sử dụng trong trường hợp các tệp CSV. Ở đây phân tích cú pháp có nghĩa là cắt các tệp CSV thành các hàng, cột và giá trị. Khi làm như vậy, dữ liệu có thể được phân tích, lọc và trích xuất cho công việc tiếp theo một cách dễ dàng. Trong bài viết này, chúng tôi sẽ giải thích cách sử dụng Python để đọc các tệp CSV. Ngoài ra, chúng tôi sẽ chỉ ra cách phân tích dữ liệu từ tệp CSV trong Python.

Tệp CSV là gì?

CSV, hoặc (Comma Separated Values), là một định dạng tệp lưu dữ liệu theo cách có các giá trị được phân tách bởi dấu phẩy và ca đường mới. Do đó, định dạng CSV có thể được sử dụng trong nhiều bối cảnh khác nhau, chẳng hạn như tạo hoặc sửa đổi dữ liệu trong Excel.

Một điểm mạnh chính của các tệp CSV là dễ dàng truy cập và chia sẻ thông tin. Tính độc đáo của nó cho phép tệp được mở và xử lý bất kể phần mềm đang được sử dụng. Điều này làm cho nó thuận tiện để xuất dữ liệu đó dưới dạng bảng tính hoặc cơ sở dữ liệu.

Bây giờ, chúng ta hãy chỉ ra cách mở và đọc CSV trong Python trong khối sau.

Phân tích các tệp CSV với Python

Python có một thư viện CSV tích hợp có thể đọc và ghi dữ liệu một cách dễ dàng. Cài đặt các thư viện bên ngoài là không cần thiết khiến việc phân tích nội dung và mở các tệp trở thành một nhiệm vụ dễ dàng như vậy. Những đoạn mã dưới đây cho thấy cách mở và in ra một tệp CSV có tên là university_records trong Python. Nó sử dụng chế độ đọc để mở tệp, sau đó đọc tệp CSV, cuối cùng, nó in dữ liệu bằng một vòng lặp for.


import csv

with open('university_records.csv', 'r') as csv_file:
    reader = csv.reader(csv_file)

    for row in reader:
        print(row)

Viết tệp CSV với Python

Vì mục đích này, chúng ta sẽ sử dụng mô-đun CSV để ghi dữ liệu. Có những phương pháp hữu ích để hỗ trợ bạn trong việc ghi thông tin vào mô-đun CSV:

  • .writer() – công cụ tạo tệp;
  • .writerow() – lưu trữ dữ liệu vào một hàng.

Các phương pháp của mô-đun được minh họa đầy đủ trong đoạn mã dưới đây:


import csv

row = ['David', 'MCE', '3', '7.8']

row1 = ['Monika', 'PIE', '3', '9.1']

row2 = ['Raymond', 'ECE', '2', '8.5']

with open('university_records.csv', 'a') as csv_file:
    writer = csv.writer(csv_file)

    writer.writerow(row)

    writer.writerow(row1)

    writer.writerow(row2)

Phân tích CSV với Thư viện Pandas

Sử dụng Python để phân tích các tệp CSV rất quan trọng ngày nay: từ bảng tính tài chính đến cơ sở dữ liệu khổng lồ cho học máy. Đôi khi làm việc với những tệp này khá khó khăn, đặc biệt khi bạn cần nhiều tính năng hơn những gì Python cung cấp sẵn. Trong những trường hợp như vậy, thư viện Pandas có thể trở nên hữu ích.

Khả năng đầy đủ của việc ghi dữ liệu với DataFrame được thể hiện dưới đây. DataFrame là một trong những cấu trúc dữ liệu chính trong thư viện Pandas và được sử dụng để làm việc với dữ liệu dạng bảng.


import pandas as pd

data = {"Name": ["David", "Monika", "Raymond"], 
        "Age": [30, 25, 40], 
        "City": ["Kyiv", "Lviv", "Odesa"]
} 

df = pd.DataFrame(data) 

file_path = "data.csv" 
df.to_csv(file_path, index=False, encoding="utf-8")



Những tính năng chính của thư viện Pandas

Đối với Python, thư viện Pandas được coi là một trong những thư viện hiệu quả nhất để phân tích các tệp CSV và dưới đây là lý do tại sao nó lại mạnh mẽ và tiện lợi như vậy:

  1. Tải tệp đơn giản. Nếu một bộ dữ liệu đến từ nhiều nguồn khác nhau và có sự không nhất quán trong định dạng của nó, thì Pandas chứng tỏ sự vượt trội của mình khi tự động phân tích tệp, loại bỏ công việc thủ công.
  2. Khả năng mở rộng. Khi các thư viện Python tiêu chuẩn cố gắng phân tích các tệp CSV có khối lượng lớn, chúng thường bị chậm lại rất nhiều, nhưng với Pandas, việc tối ưu hóa được thực hiện vì nó thực hiện tốt với các tệp lớn. Hơn nữa, việc phân mảnh tải tệp giúp ngăn ngừa quá tải bộ nhớ.
  3. Giải quyết nhiều quá trình. Các giá trị bị thiếu, định dạng sai và bản sao thường xuất hiện trong các tệp CSV. Điều may mắn là Pandas lại chứng tỏ sức mạnh của mình với các công cụ tích hợp sẵn như thay thế dữ liệu thiếu và loại, làm sạch ký tự và tái cấu trúc thông tin cho phân tích nâng cao.

Những tính năng này cho thấy thư viện này là tốt nhất để phân tích nhanh các tệp CSV vì các công cụ khác có hạn chế so với nó. Đồng thời, nó có khả năng xử lý lượng dữ liệu lớn, làm cho nó trở nên vô cùng hữu ích trong thế giới thông tin.

Đọc tệp CSV với Pandas

Trước khi bạn có thể sử dụng tài liệu CSV, bước đầu tiên là tải nó lên.


import pandas as pd

df = pd.read_csv("data.csv")

Khi làm việc với các bộ dữ liệu lớn, các công cụ của Pandas rất phù hợp để sử dụng. Hãy cùng khám phá cách một script Python có thể phân tích một tệp CSV.


df.head() # Hiển thị 5 dòng đầu tiên
df.tail(10) # Hiển thị 10 dòng cuối cùng
df.info() # Xuất danh sách các cột, kiểu dữ liệu, và số lượng giá trị đã được điền

Để chọn một hoặc nhiều cột, thực hiện:


df["Name"] # Lấy cột "Name"


df[["Name", "Age"]] # Chỉ lấy "Name" và "Age"

Viết tệp CSV với Pandas

Bây giờ, hãy cùng tìm hiểu cách chèn, sửa đổi và xóa các dòng cụ thể.

Chèn một dòng mới:


# Tải tệp CSV
df = pd.read_csv(file_path) 

# Thêm một hàng mới
new_row = pd.DataFrame([{"Name": "Denys", "Age": 35, "City": "Kharkiv"}]) df = pd.concat([df, new_row], ignore_index=True) 


# Cứu
df.to_csv(file_path, index=False, encoding="utf-8")

Sửa đổi một hàng cụ thể:


df = pd.read_csv(file_path) 

# Thay đổi tuổi của Ivan
df.loc[df["Name"] == "Ivan", "Age"] = 26 

df.to_csv(file_path, index=False, encoding="utf-8")

Xóa một hàng:


df = pd.read_csv(file_path) 

# Xóa hàng trong đó Name == "Mykhailo" 
df = df[df["Name"] != "Mykhailo"] 

df.to_csv(file_path, index=False, encoding="utf-8")

Phần kết luận

Tóm lại, trong bài viết này, chúng tôi đã chỉ cho bạn cách mở và đọc một tệp CSV trong Python. Tuy nhiên, khi người dùng yêu cầu độ chính xác cao hơn và các công cụ giải thích mạnh mẽ, Pandas hoạt động tuyệt vời. Tự động hóa các quá trình lặp đi lặp lại, cho phép xử lý các tệp khổng lồ và tiết kiệm thời gian, thư viện này rất hiệu quả. Vì vậy, có thể kết luận rằng đối với các chức năng cơ bản, thư viện CSV chuẩn đáp ứng đủ yêu cầu, trong khi Pandas được thiết kế để xử lý thông tin dữ liệu lớn.

Bình luận:

0 Bình luận