Làm cách nào để bạn nối nhiều tệp trong python?

Vì khóa học này đang được phát hành dần dần, bất cứ khi nào một bài báo và video mới được phát hành, sau khi git nhân bản kho lưu trữ ban đầu. Bạn sẽ cần chạy lệnh này trong dòng lệnh/thiết bị đầu cuối của mình [từ thư mục gốc của khóa học]

git pull origin master

Điều này sẽ lấy mọi thay đổi gần đây đã được thực hiện trên github. phiên bản com của khóa học và sẽ cho phép bạn dễ dàng nhận được nội dung mới khi nó được thêm vào

Kết quả học tập

  • Để tìm hiểu những gì pd. phương thức concat[] là gì và nó hoạt động như thế nào
  • Tìm hiểu cách kết hợp nhiều tệp csv bằng Pandas

Đầu tiên, giả sử rằng chúng ta có 5, 10 hoặc 100. tệp csv. Kết hợp tất cả những thứ này bằng tay có thể cực kỳ mệt mỏi và chắc chắn xứng đáng được tự động hóa. Do đó, trong bài tập hôm nay, chúng ta sẽ kết hợp nhiều tệp csv chỉ trong 8 dòng mã

Đối với hướng dẫn này, tôi đã chuẩn bị 5 trang hàng đầu. báo cáo csv từ Ahrefs bạn có thể tìm thấy trong thư mục sau


'data/pbpython.com-top-pages-by-traffic-subdomains-US-17-May-2020_20-24-30-2c4e06e2ea39cce8b2f514e24c929e51.csv'
'data/machinelearningmastery.com-top-pages-by-traffic-subdomains-US-17-May-2020_20-25-38-b4088b6c6c987653748b10c0543a5713.csv'

Một trong những vấn đề với việc tự động phát hiện tệp csv là tên được tạo động. Vì vậy, chúng tôi sẽ sử dụng. csv và gói python có tên glob để tự động phát hiện tất cả các tệp kết thúc bằng a. tên csv trong một thư mục làm việc cụ thể

Nhập gói và đặt thư mục làm việc

Bạn sẽ cần thay đổi “/directory” thành thư mục cụ thể của mình

import os
import glob
import pandas as pd
# os.chdir["/directory"]

Bằng cách viết pwd trong dòng lệnh, chúng ta có thể xác định đường dẫn tệp chính xác mà trang đầu Ahrefs này. tệp csv được đặt trong


pwd
/Users/jamesphoenix/Desktop/Imran_And_James_Projects/Python_For_SEO/2_bulk_csv_operations/data

Bây giờ chúng ta hãy di chuyển vào thư mục làm việc mong muốn của chúng ta, nơi chứa các tệp csv

os.chdir["/Users/jamesphoenix/Desktop/Imran_And_James_Projects/Python_For_SEO/2_bulk_csv_operations/data"]

Bây giờ chúng ta hãy chạy. tôi và. pwd chỉ để cho thấy rằng chúng tôi đã thay đổi thư mục

!ls 
!pwd

tiền boa. sử dụng. trước khi lệnh linux cho phép bạn chạy các lệnh unix/linux trong tệp sổ ghi chép jupyter


!pwd
/Users/jamesphoenix/Desktop/Imran_And_James_Projects/Python_For_SEO/2_bulk_csv_operations/data

!ls 
hackernoon.com-top-pages-by-traffic-subdomains-US-17-May-2020_20-20-38-3c2d0502092ca7b22c9527c370526f6b.csv
machinelearningmastery.com-top-pages-by-traffic-subdomains-US-17-May-2020_20-25-38-b4088b6c6c987653748b10c0543a5713.csv
pbpython.com-top-pages-by-traffic-subdomains-US-17-May-2020_20-24-30-2c4e06e2ea39cce8b2f514e24c929e51.csv
towardsdatascience.com-top-pages-by-traffic-subdomains-US-17-May-2020_20-15-48-03e00fb8d3976a642dd2db330422cef7.csv
www.datacamp.com-top-pages-by-traffic-subdomains-US-17-May-2020_20-21-48-821c6875ceb05705bce7e0a5a032d622.csv

Bước 2. Sử dụng toàn cầu để khớp với mẫu ‘. csv'

Bây giờ chúng ta sẽ khớp mẫu tệp [‘. csv’] trong tất cả các tệp nằm trong thư mục làm việc hiện tại

file_extension = '.csv'
all_filenames = [i for i in glob.glob[f"*{file_extension}"]]

print[f"These are all of the filenames ending in .csv {all_filenames}."]
These are all of the filenames ending in .csv ['hackernoon.com-top-pages-by-traffic-subdomains-US-17-May-2020_20-20-38-3c2d0502092ca7b22c9527c370526f6b.csv', 'machinelearningmastery.com-top-pages-by-traffic-subdomains-US-17-May-2020_20-25-38-b4088b6c6c987653748b10c0543a5713.csv', 'pbpython.com-top-pages-by-traffic-subdomains-US-17-May-2020_20-24-30-2c4e06e2ea39cce8b2f514e24c929e51.csv', 'towardsdatascience.com-top-pages-by-traffic-subdomains-US-17-May-2020_20-15-48-03e00fb8d3976a642dd2db330422cef7.csv', 'www.datacamp.com-top-pages-by-traffic-subdomains-US-17-May-2020_20-21-48-821c6875ceb05705bce7e0a5a032d622.csv'].

Bước 3. Hãy kết hợp tất cả các tệp trong danh sách và xuất dưới dạng CSV

Trong mã bên dưới, chúng tôi sẽ đọc tất cả csv và sau đó sẽ sử dụng pd. phương thức concat[] để xếp chồng mọi khung dữ liệu lên nhau

Nhưng trước khi chúng tôi làm điều đó, hãy đảm bảo rằng chúng tôi có thể nhận được một kết quả trong khung dữ liệu pandas bằng cách thêm mã hóa thích hợp

  • UTF-16 [Đây là loại mã hóa cụ thể]
  • \t [dữ liệu được phân định bằng tab]

'data/pbpython.com-top-pages-by-traffic-subdomains-US-17-May-2020_20-24-30-2c4e06e2ea39cce8b2f514e24c929e51.csv'
'data/machinelearningmastery.com-top-pages-by-traffic-subdomains-US-17-May-2020_20-25-38-b4088b6c6c987653748b10c0543a5713.csv'
0

'data/pbpython.com-top-pages-by-traffic-subdomains-US-17-May-2020_20-24-30-2c4e06e2ea39cce8b2f514e24c929e51.csv'
'data/machinelearningmastery.com-top-pages-by-traffic-subdomains-US-17-May-2020_20-25-38-b4088b6c6c987653748b10c0543a5713.csv'
1

'data/pbpython.com-top-pages-by-traffic-subdomains-US-17-May-2020_20-24-30-2c4e06e2ea39cce8b2f514e24c929e51.csv'
'data/machinelearningmastery.com-top-pages-by-traffic-subdomains-US-17-May-2020_20-25-38-b4088b6c6c987653748b10c0543a5713.csv'
2

'data/pbpython.com-top-pages-by-traffic-subdomains-US-17-May-2020_20-24-30-2c4e06e2ea39cce8b2f514e24c929e51.csv'
'data/machinelearningmastery.com-top-pages-by-traffic-subdomains-US-17-May-2020_20-25-38-b4088b6c6c987653748b10c0543a5713.csv'
3

Bây giờ, hãy phân tích dòng mã trên làm gì, trước tiên, chúng ta lặp qua tất cả các tên tệp và gán từng tên một cho biến f. Sau đó, mỗi tệp csv được đọc và chuyển đổi thành khung dữ liệu gấu trúc với

Làm cách nào để kết hợp nhiều tệp văn bản thành một CSV bằng Python?

Bạn có thể hợp nhất nhiều tệp văn bản thành một tệp CSV duy nhất trong Python bằng cách sử dụng lệnh toàn cầu. toàn cầu ['. /*. txt'] để lọc ra tất cả tên đường dẫn của tệp văn bản trong một thư mục nhất định. Sau đó, lặp lại tất cả các tên đường dẫn đó và sử dụng hàm open[] để đọc nội dung tệp và ghi thêm chúng vào CSV

Python xử lý nhiều tệp văn bản như thế nào?

Nhập mô-đun hệ điều hành vào sổ ghi chép của bạn. Xác định đường dẫn chứa các tệp văn bản trong hệ thống của bạn. Tạo một danh sách các tệp và lặp lại để tìm xem tất cả chúng có đúng phần mở rộng hay không. Đọc các tệp bằng chức năng được xác định trong mô-đun

Chủ Đề