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'
3Bâ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