Làm cách nào để thêm nhiều tệp csv vào python?

Tìm hiểu sâu về Python và tìm hiểu cách tự động hóa các tác vụ như hợp nhất các tệp CSV hoặc Excel cồng kềnh bằng một vài dòng mã

Ảnh của Adriano Brodbeck từ Pexels

Các khóa học theo yêu cầu được đề xuất

Nhiều bạn đã liên hệ với tôi để yêu cầu các tài nguyên có giá trị để tự động hóa các tác vụ Excel [và trong bảng tính nói chung] bằng Python. Dưới đây tôi chia sẻ bốn khóa học mà tôi muốn giới thiệu

  • Python trung cấp [Bằng cấp nano] HOẶC Nhà phân tích dữ liệu. Các khóa học chất lượng RẤT CAO về Python + SQL [Bằng cấp Nano] dành cho những người cam kết học Python nâng cao hơn. → Nhận chiết khấu 70% qua liên kết này
  • Lập trình Python cho người dùng Excel [Numpy và Pandas]
  • Python dành cho người dùng bảng tính [Pandas & Other]
  • Python để phân tích và trực quan hóa dữ liệu [Pandas, Matplotlib, Seaborn]

Hy vọng bạn cũng sẽ thấy chúng hữu ích. Bây giờ thưởng thức bài viết. D

Giới thiệu

Dù bạn có tin hay không, vào năm 2022, vẫn có những công ty thuê chuyên gia tư vấn dữ liệu ngoài để thực hiện các nhiệm vụ đòi hỏi nỗ lực tối thiểu [ngay cả đối với người mới] bằng cách sử dụng một tập lệnh Python nhỏ

“…vào năm 2022 vẫn có những công ty thuê chuyên gia tư vấn dữ liệu bên ngoài để thực hiện các tác vụ đòi hỏi nỗ lực tối thiểu bằng cách sử dụng một tập lệnh Python nhỏ. ”

Thật buồn cười, chính những chuyên gia tư vấn đó lại giả vờ sử dụng một số phép thuật đen tối để thực hiện những công việc đơn giản và thu những khoản phí cao ngất ngưởng. Tiền chắc chắn có thể được đầu tư một cách khôn ngoan hơn

Ví dụ, hình ảnh này. một nhóm bán hàng lớn phải hợp nhất nhiều tệp CSV hoặc Excel mỗi tháng, đến từ các bộ phận khác nhau, để tạo một báo cáo hiệu suất thống nhất

Mặc dù các tệp này thường có định dạng tương tự nhau, nhưng đôi khi chúng quá cồng kềnh nên việc sao chép và dán thủ công thậm chí không phải là một tùy chọn và cũng có thể dẫn đến lỗi hoặc thiếu dữ liệu

Nếu điều này nghe có vẻ quen thuộc và bạn muốn tìm hiểu cách tự động hóa các tác vụ đó bằng Python, thì bạn đang ở đúng nơi

Thật vậy, trong hướng dẫn ngắn gọn này, tôi sẽ chỉ cho bạn cách hợp nhất các tệp CSV hoặc Excel lớn thành một tệp duy nhất với mã Python tối thiểu và thậm chí không cần phải mở bất kỳ tệp gốc nào

Vì vậy, hãy theo dõi, đến cuối bài viết này, tôi sẽ chia sẻ một số nội dung bổ sung với bạn

tập dữ liệu

Trong thư mục này, bạn sẽ tìm thấy 5 tệp mô hình bán hàng ở định dạng CSV mà tôi sẽ sử dụng trong bước tiếp theo của hướng dẫn

Mỗi tệp, bao gồm chính xác 1 triệu hàng và có cùng số cột. Chẳng hạn, nếu bạn mở tệp

print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
2, bạn sẽ gặp định dạng sau

Ví dụ về 20 hàng đầu tiên trong
print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
3

Khi bạn đã tải xuống các tệp vào một thư mục cụ thể trên máy tính xách tay của mình, nội dung của nó có thể được liệt kê bằng phương thức

print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
4 trong gói Python
print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
5

Phương pháp này, yêu cầu bạn chuyển chính xác

print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
6 vào thư mục, như được hiển thị bên dưới

import ospath = “/Users/anbento/Documents/sales/sales_csv/”os.listdir[path]Out[1]:['sales_records_n5.csv',
'sales_records_n4.csv',
'sales_records_n1.csv',
'sales_records_n3.csv',
'sales_records_n2.csv']

Lưu ý cách phương thức này trả về một danh sách Python bao gồm tất cả các tệp trong thư mục

print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
7. Điều này là thuận lợi, vì đối tượng có thể được sử dụng để đọc các tệp lặp đi lặp lại

# 1 Hợp nhất nhiều tệp CSV

Mục tiêu ở bước đầu tiên này là hợp nhất 5 tệp CSV trong một tập dữ liệu duy nhất bao gồm 5 triệu hàng bằng Python. Để làm được điều đó, tôi sẽ tận dụng các gói

print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
5 và
print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
1

Kịch bản Python đầy đủ để đạt được điều đó, như sau

Bây giờ, hãy để tôi giải thích những gì đang xảy ra trong mã, từng bước một

1. Trước hết, tôi đang nhập các gói Python cần thiết và chỉ định

print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
6 cho các tệp CSV. Tôi khuyên bạn nên lưu tất cả các tệp CSV mà bạn muốn hợp nhất vào cùng một thư mục. Điều này sẽ làm cho cuộc sống của bạn dễ dàng hơn

2. Sau đó, tôi đang tạo một

print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
3 bằng cách đính kèm
print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
6 vào mỗi tệp tuân theo một quy ước đặt tên cụ thể [trong trường hợp này là tất cả các tệp bắt đầu bằng
print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
5]. Đôi khi, việc chọn tệp dựa trên tên rất quan trọng vì thư mục làm việc của bạn cũng có thể bao gồm một số tệp không liên quan. Lưu ý cách hiểu danh sách đã được sử dụng để tạo
print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
3

Đây là những gì tôi nhận được khi in nội dung của

print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
3

print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']

Tất cả các tệp giờ đây đã được đính kèm đường dẫn và sẵn sàng để được phân tích cú pháp

Tuy nhiên, hãy nhớ rằng danh sách không có thứ tự, vì vậy nếu thứ tự được sử dụng để hợp nhất các tệp là quan trọng đối với bạn, thì bạn sẽ cần sử dụng hàm

print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
8 trong khi lặp qua danh sách

3. Tại thời điểm này, trước tiên tôi tạo một

print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
9 trống. Sau đó, tôi lặp lại phân tích cú pháp từng tệp CSV trong
print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
3 bằng phương thức
print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
01 của gấu trúc và nối các bộ dữ liệu này vào
print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
9

Lưu ý rằng khi

print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
01 được sử dụng để phân tích cú pháp CSV, tập dữ liệu sẽ tự động được chuyển đổi thành pandas DF, do đó,
print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
9 hiện bao gồm 5 pandas DF riêng biệt. Tuy nhiên, cùng với việc phân tích cú pháp các tệp, tôi cũng đang xâu chuỗi lệnh sau

print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
0

Điều này đang tạo một cột mới trong mỗi DF bao gồm tên của tệp CSV gốc, để sau khi các tệp được hợp nhất, bạn sẽ biết chính xác cái nào đến từ tệp nào

4. Các tệp cuối cùng được hợp nhất trong một DF gấu trúc

print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
05 duy nhất bằng cách áp dụng phương pháp
print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
06 trên
print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
9. Thêm
print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
08 có nghĩa là một chỉ mục hoàn toàn mới sẽ được tạo cho
print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
05

5. Bước cuối cùng bao gồm chuyển đổi

print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
05 từ pandas DF, trở lại tệp CSV [có tên là
print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
11], nằm trong cùng thư mục. Điều này đạt được thông qua lệnh
print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
12. Trong trường hợp này,
print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
13 có nghĩa là không nên thêm cột bao gồm chỉ mục

Và đây là nó. Bây giờ bạn sẽ thấy tệp đã hợp nhất [bao gồm cả cột bổ sung

print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
14] xuất hiện trong thư mục

print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
1

Không bao gồm việc nhập gói, chỉ mất 7 dòng mã và một vài giây thời gian chạy để đạt được kết quả này

#2 Hợp nhất nhiều tệp Excel

Nhưng nếu bạn muốn hợp nhất các tệp Excel lớn thì sao?

Sự khác biệt trong mã là tối thiểu. bạn chỉ cần thay thế phương thức

print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
01 bằng
print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
16 trong khi phân tích cú pháp các tệp và
print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
12 bằng
print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
18 trong khi ghi
print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
19 trở lại thư mục

Tập lệnh Python đầy đủ bao gồm các biến thể được đề cập, như sau

Nếu bạn muốn học bằng cách thực hành, tôi khuyên bạn nên tải xuống các tệp trong thư mục khác. Khi bạn chạy mã, bạn sẽ nhận được một tệp được hợp nhất tương tự như thế này

Ví dụ về 20 hàng đầu tiên trong
print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
20

Như bạn có thể thấy, độc lập với phần mở rộng của các tệp của bạn, quá trình này hoàn toàn giống nhau, miễn là bạn có thể chuyển đổi các tệp thành pandas DF

# 3 Tiền thưởng. Tách tệp lớn thành tệp nhỏ hơn

Nếu bạn quản lý để đọc cho đến thời điểm này của hướng dẫn, bạn xứng đáng nhận được một số nội dung bổ sung

Chẳng hạn, giả sử bây giờ bạn đang đối mặt với vấn đề ngược lại với những gì đã được mô tả cho đến nay

Bạn đang làm việc với một tệp CSV hoặc Excel rất lớn bao gồm 5 triệu hàng và bạn muốn chia tệp đó thành nhiều tệp nhỏ hơn để cho phép bạn mở chúng nhanh hơn và trực quan hóa nội dung của chúng. Làm thế nào để làm điều đó?

Đây là một nhiệm vụ đơn giản khác, vì bạn có thể chỉ cần đọc tệp CSV gốc bằng phương pháp

print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
01, lưu nó ở định dạng khung dữ liệu [
print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
22] và sau đó sử dụng tính năng cắt trên chỉ mục hàng để - giả sử - chọn hàng 1 triệu đầu tiên thành một
print[file_list]Output:['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv']
23 DF nhỏ hơn

Quá trình này có thể được lặp đi lặp lại để tạo ra nhiều tệp nhỏ hơn như sau

Sự kết luận

Trong hướng dẫn ngắn gọn này, tôi đã chỉ ra mức độ trực quan của việc hợp nhất nhiều tệp lớn thành một tệp duy nhất bằng Python

Một trong những chiến lược khả thi [chiến lược được mô tả trong bài viết này] chỉ đơn giản là chuyển đổi chúng thành pandas DF và sau đó nối chúng lại, tạo ra một tệp duy nhất

Quá trình này không thể mở rộng, với điều kiện là tệp có thể được phân tích cú pháp bằng gấu trúc và chỉ mất tổng cộng 7 dòng mã, điều đó làm cho nó trở thành một ứng cử viên xuất sắc để tự động hóa bởi những người mới học viết mã bằng Python

Nhưng còn bạn thì sao? . D

Bạn cũng có thể thích

10 thuật toán cần giải quyết trước cuộc phỏng vấn viết mã Python của bạn

Trong bài viết này tôi trình bày và chia sẻ cách giải một số thuật toán cơ bản hay xuất hiện trong FAANG…

hướng tới khoa học dữ liệu. com

3 cách để tính trung bình có trọng số trong Python

Trong hướng dẫn ngắn gọn này, tôi chỉ cho bạn cách tính trung bình có trọng số trong Python bằng cách xác định các hàm của riêng bạn hoặc sử dụng…

hướng tới khoa học dữ liệu. com

3 cách lặp qua từ điển Python bằng vòng lặp for

…và các câu trả lời khác cho các câu hỏi Stack Overflow phổ biến nhất trên từ điển Python

hướng tới khoa học dữ liệu. com

Lưu ý dành cho độc giả của tôi

Bài đăng này bao gồm các liên kết liên kết mà tôi có thể kiếm một khoản hoa hồng nhỏ mà không phải trả thêm phí cho bạn, nếu bạn mua hàng

Chủ Đề