Cách đọc tệp csv từ thư mục khác trong python

Trong bài viết này, chúng ta sẽ xem cách đọc tất cả các tệp CSV trong một thư mục vào một khung dữ liệu Pandas duy nhất. Tác vụ có thể được thực hiện bằng cách trước tiên tìm tất cả các tệp CSV trong một thư mục cụ thể bằng phương thức glob[], sau đó đọc tệp bằng pandas. read_csv[] và sau đó hiển thị nội dung

Python cung cấp nhiều gói và mô-đun sẵn có để hoạt động với các tệp CSV trong không gian làm việc. Các tệp CSV có thể được truy cập trong các thư mục và thư mục con của hệ thống và được sửa đổi hoặc chỉnh sửa. Cả nội dung tệp CSV đều có thể được in trên trình bao hoặc có thể được lưu ở dạng khung dữ liệu và phát sau

Trong bài viết này, chúng ta sẽ xem cách lặp qua n số tệp CSV có trong một thư mục [thư mục/đường dẫn] bao gồm các loại tệp khác nhau và cách làm việc với nội dung của các tệp này. Vì vậy, chúng tôi áp dụng hai phương pháp khác nhau cho nhiệm vụ của mình.  

Thư mục đầu vào cho cả hai cách tiếp cận

CSV đã sử dụng

CSV1

CSV2

CSV3

Phương pháp 1. Sử dụng mô-đun Glob

  • Ban đầu, đường dẫn của thư mục nguồn được chỉ định, trong trường hợp này là thư mục “csvfoldergfg” sử dụng biến đường dẫn
path = "csvfoldergfg"
  • Để định vị tất cả các tệp CSV, có thể không biết tên, mô-đun toàn cầu được gọi và phương thức toàn cầu của nó được gọi. Nó được cung cấp với đường dẫn sử dụng toàn cầu. toàn cầu [đường dẫn]. Điều này trả về danh sách tất cả các tệp CSV nằm trong đường dẫn. Regex được sử dụng tương đương với *. csv, phù hợp với tất cả các tệp cho tiện ích mở rộng. csv
glob.glob[path, '*.csv']
  • Sau đó, một phép lặp được thực hiện trên các tệp này bằng vòng lặp for và nội dung được đọc vào khung dữ liệu, sử dụng phương thức read_csv[] của thư viện pandas. Thông tin được tìm nạp bằng phương pháp này sau đó có thể được thao tác
read_csv[file_contents]

Đoạn mã sau được thực thi trên máy cục bộ, trong đó cả tập lệnh và thư mục có đường dẫn được chỉ định đều được lưu trữ trong cùng một thư mục làm việc

Vì vậy, hãy bắt đầu với một ví dụ đơn giản, trong đó bạn có dữ liệu sau được lưu trữ trong tệp CSV [trong đó tên tệp là 'products_sold']

sản phẩmnhãn hiệugiá bánMáy tính A1200Máy tính bảngB350Máy inC120Màn hìnhD400Bàn phímE80

Các bước để nhập tệp CSV vào Python bằng Pandas

Bước 1. Nắm bắt đường dẫn tệp

Đầu tiên, nắm bắt đường dẫn đầy đủ nơi tệp CSV của bạn được lưu trữ

Ví dụ: giả sử tệp CSV được lưu trữ theo đường dẫn sau

C. \Users\Ron\Desktop\ products_sold. csv

Bạn sẽ cần sửa đổi mã Python bên dưới để phản ánh đường dẫn lưu trữ tệp CSV trên máy tính của bạn. Đừng quên bao gồm

  • Tên tệp [như được đánh dấu màu xanh lá cây]. Bạn có thể chọn một tên tệp khác, nhưng đảm bảo rằng tên tệp được chỉ định trong mã khớp với tên tệp thực
  • Phần mở rộng tệp [như được đánh dấu màu xanh lam]. Phần mở rộng tệp phải là '. csv’ khi nhập tệp CSV

Bước 2. Áp dụng mã Python

Nhập/sao chép mã sau vào Python, đồng thời thực hiện các thay đổi cần thiết cho đường dẫn của bạn

Đây là mã cho ví dụ của chúng tôi

import pandas as pd

df = pd.read_csv[r'C:\Users\Ron\Desktop\products_sold.csv']
print[df]

Lưu ý rằng bạn nên đặt 'r' trước chuỗi đường dẫn để xử lý bất kỳ ký tự đặc biệt nào trong đường dẫn, chẳng hạn như '\'. Ngoài ra, đừng quên đặt tên tệp ở cuối đường dẫn + “. csv”

Bước 3. Chạy mã

Cuối cùng, hãy chạy mã Python và bạn sẽ nhận được

    product brand  price
0  Computer     A   1200
1    Tablet     B    350
2   Printer     C    120
3   Monitor     D    400
4  Keyboard     E     80

Bước tùy chọn. Chọn tập hợp con của các cột

Bây giờ nếu bạn muốn chọn một tập hợp con các cột từ tệp CSV thì sao?

Ví dụ: nếu bạn chỉ muốn chọn sản phẩm và cột giá thì sao?. Nếu đúng như vậy, bạn có thể chỉ định các tên cột đó như được chụp bên dưới

import pandas as pd

data = pd.read_csv[r'C:\Users\Ron\Desktop\products_sold.csv']   
df = pd.DataFrame[data, columns=['product', 'price']]
print[df]

Bạn cần đảm bảo rằng tên cột được chỉ định trong mã khớp chính xác với tên cột trong tệp CSV. Nếu không, bạn sẽ nhận được các giá trị NaN

Khi bạn đã sẵn sàng, hãy chạy mã [sau khi điều chỉnh đường dẫn tệp] và bạn sẽ chỉ nhận được các cột sản phẩm và giá

    product  price
0  Computer   1200
1    Tablet    350
2   Printer    120
3   Monitor    400
4  Keyboard     80

Tài nguyên bổ sung

Bạn vừa xem cách nhập tệp CSV vào Python bằng Pandas. Đôi khi, bạn có thể cần nhập tệp Excel vào Python. Nếu đúng như vậy, bạn có thể xem hướng dẫn sau giải thích cách nhập tệp Excel vào Python

Khi bạn đã nhập tệp của mình vào Python, bạn có thể bắt đầu tính toán một số thống kê bằng Pandas. Ngoài ra, bạn có thể dễ dàng xuất Khung dữ liệu Pandas thành CSV

Để tìm hiểu thêm về cách sử dụng Pandas để nhập tệp CSV, vui lòng truy cập Tài liệu Pandas

Chủ Đề