Viết bởi Matt Dancho
Đọc nhiều tệp CSV là một nhiệm vụ phổ biến cho một nhà khoa học dữ liệu. Trong hướng dẫn miễn phí này, chúng tôi chỉ cho bạn 3 cách để hợp lý hóa việc đọc các tệp CSV trong Python. Bạn sẽ đọc và kết hợp 15 tệp CSV bằng 3 phương pháp hàng đầu để lặp.You’ll read and combine 15 CSV Files using the top 3 methods for iteration.
Lời khuyên Python hàng tuần
Bài viết này là một phần của Python-Tips Weekly, một video hướng dẫn hai tuần một lần cho thấy bạn từng bước làm thế nào để thực hiện các nhiệm vụ mã hóa Python thông thường.
Dưới đây là các liên kết để được thiết lập. 👇
- Nhận mã
- Hướng dẫn YouTube
Video TutorialFollow cùng với hướng dẫn video YouTube đầy đủ của chúng tôi.
Follow along with our Full YouTube Video Tutorial.
Video 5 phút này bao gồm việc đọc nhiều CSV trong Python.
Đọc 15 tệp CSV [Hướng dẫn]
Hướng dẫn miễn phí này thể hiện sức mạnh tuyệt vời của python để đọc các tệp CSV. Chúng tôi sẽ đọc 15 tệp CSV trong hướng dẫn này.15 CSV files in this tutorial.
Trước khi chúng tôi bắt đầu, hãy lấy bảng gian lận Python
Hệ sinh thái Python lớn. Để giúp đỡ, tôi đã quản lý nhiều gói Python 80/20, những gói tôi sử dụng thường xuyên nhất để có kết quả. Chỉ cần tải xuống bảng cheat Python Ultimate Python để truy cập toàn bộ hệ sinh thái Python trong tầm tay của bạn thông qua tài liệu siêu liên kết và các bảng gian lận.80/20 Python Packages, those I use most frequently to get results. Simply Download the Ultimate Python Cheat Sheet to access the entire Python Ecosystem at your fingertips via hyperlinked documentation and cheat sheets.
Lên hướng dẫn.
Thiết lập dự án
Đầu tiên, tải các thư viện. Chúng tôi sẽ nhập pandas và glob.
Pandas: Thư viện Wrangling dữ liệu chính trong Python
glob: Một thư viện để định vị các đường dẫn tệp bằng cách tìm kiếm văn bản (biểu thức thông thường)
Thứ hai, sử dụng glob để trích xuất danh sách các đường dẫn tệp cho mỗi trong số 15 tệp CSV chúng ta cần đọc.
Nhận mã.
Phương pháp 1: For-Loop
Cách phổ biến nhất để đọc lặp lại các tệp là với vòng lặp. Nó là một cách tuyệt vời cho người mới bắt đầu nhưng nó không phải là cách súc tích nhất. Chúng tôi sẽ hiển thị theo cách này trước tiên.
Nhận mã.
Phương pháp 1: For-Loop
Cách phổ biến nhất để đọc lặp lại các tệp là với vòng lặp. Nó là một cách tuyệt vời cho người mới bắt đầu nhưng nó không phải là cách súc tích nhất. Chúng tôi sẽ hiển thị theo cách này trước tiên. We do this to store our results as we make them in the for-loop.
Chúng ta có thể thấy rằng điều này liên quan đến 3 bước: We read using pd.read_csv(), which returns a data frame for each path. Then we append each data frame to our list.
Khởi tạo một danh sách trống: Chúng tôi làm điều này để lưu trữ kết quả của chúng tôi khi chúng tôi làm cho chúng trong vòng lặp. We use pd.concat() to combine the list of data frames into one big data frame.
Tên tệp For-Each, đọc và nối tiếp: Chúng tôi đọc bằng pd.read_csv(), trả về khung dữ liệu cho mỗi đường dẫn. Sau đó, chúng tôi nối từng khung dữ liệu vào danh sách của chúng tôi. Combining data frames in lists is a common strategy. Don’t forget to use axis=0 to specify row-wise combining.
Kết hợp từng khung dữ liệu: Chúng tôi sử dụng pd.concat() để kết hợp danh sách các khung dữ liệu vào một khung dữ liệu lớn.
Pro-tip: Kết hợp các khung dữ liệu trong danh sách là một chiến lược phổ biến. Don Tiết quên sử dụng axis=0 để chỉ định kết hợp hàng theo hàng.
Phương pháp 2: Sử dụng bản đồ
Hàm map() là một cách ngắn gọn hơn để lặp lại. Ưu điểm là chúng tôi không thể khởi tạo một danh sách. Tuy nhiên, nó có thể gây nhầm lẫn hơn cho người mới bắt đầu.
Làm thế nào nó hoạt động: A function to iteratively apply
Bản đồ có hai đối số chung:: One or more iterables that are supplied to the function in order of the functions arguments.
Nhận mã.
Phương pháp 1: For-Loop
Cách phổ biến nhất để đọc lặp lại các tệp là với vòng lặp. Nó là một cách tuyệt vời cho người mới bắt đầu nhưng nó không phải là cách súc tích nhất. Chúng tôi sẽ hiển thị theo cách này trước tiên.
Nhận mã.
Phương pháp 1: For-Loop
Cách phổ biến nhất để đọc lặp lại các tệp là với vòng lặp. Nó là một cách tuyệt vời cho người mới bắt đầu nhưng nó không phải là cách súc tích nhất. Chúng tôi sẽ hiển thị theo cách này trước tiên. This is an anonymous function that we create on the fly with the first argument that will accept our iterable (each filename in our list of csv file paths).
Chúng ta có thể thấy rằng điều này liên quan đến 3 bước: In this case, we provide our list of csv files. The map function will then iteratively supply each element to the function in succession.
Khởi tạo một danh sách trống: Chúng tôi làm điều này để lưu trữ kết quả của chúng tôi khi chúng tôi làm cho chúng trong vòng lặp. The map() function returns a map object. We can then convert this to a list using the pandas2 function.
Tên tệp For-Each, đọc và nối tiếp: Chúng tôi đọc bằng pd.read_csv(), trả về khung dữ liệu cho mỗi đường dẫn. Sau đó, chúng tôi nối từng khung dữ liệu vào danh sách của chúng tôi. Beginners can be confused by the “map object” that is returned. Just simply use the pandas2 function to extract the results of map() in a list structure.
Kết hợp từng khung dữ liệu: Chúng tôi sử dụng pd.concat() để kết hợp danh sách các khung dữ liệu vào một khung dữ liệu lớn.
Pro-tip: Kết hợp các khung dữ liệu trong danh sách là một chiến lược phổ biến. Don Tiết quên sử dụng axis=0 để chỉ định kết hợp hàng theo hàng.List Comprehension. A list comprehension is a streamlined way of making a for-loop that returns a list. Here’s how it works.
Nhận mã.
Phương pháp 1: For-Loop: Add the function that you want to iterate. The parameter must match your looping variable name (next).
Cách phổ biến nhất để đọc lặp lại các tệp là với vòng lặp. Nó là một cách tuyệt vời cho người mới bắt đầu nhưng nó không phải là cách súc tích nhất. Chúng tôi sẽ hiển thị theo cách này trước tiên.: This is your looping variable name that you create inside of the list comprehension. Each of these are elements that will get passed to your function.
Chúng ta có thể thấy rằng điều này liên quan đến 3 bước: This is your iterable. The list containing each of our file paths.
Khởi tạo một danh sách trống: Chúng tôi làm điều này để lưu trữ kết quả của chúng tôi khi chúng tôi làm cho chúng trong vòng lặp.
Tên tệp For-Each, đọc và nối tiếp: Chúng tôi đọc bằng pd.read_csv(), trả về khung dữ liệu cho mỗi đường dẫn. Sau đó, chúng tôi nối từng khung dữ liệu vào danh sách của chúng tôi.
- For-Loops
- Kết hợp từng khung dữ liệu: Chúng tôi sử dụng pd.concat() để kết hợp danh sách các khung dữ liệu vào một khung dữ liệu lớn.
- Pro-tip: Kết hợp các khung dữ liệu trong danh sách là một chiến lược phổ biến. Don Tiết quên sử dụng axis=0 để chỉ định kết hợp hàng theo hàng.
Phương pháp 2: Sử dụng bản đồwithout wasting time on information you don’t need.
Hàm map() là một cách ngắn gọn hơn để lặp lại. Ưu điểm là chúng tôi không thể khởi tạo một danh sách. Tuy nhiên, nó có thể gây nhầm lẫn hơn cho người mới bắt đầu.
Làm thế nào nó hoạt động:
Bản đồ có hai đối số chung:Eliminate the confusion and speed up your learning in the process.
func: một chức năng để lặp đi lặp lại
Tìm hiểu làm thế nào trong khóa học mới của chúng tôi, Python cho tự động hóa khoa học dữ liệu. Thực hiện tự động hóa dự báo doanh nghiệp đầu cuối bằng cách sử dụng pandas, pandas7 và pandas8 và học Python trong quá trình này.