Giới thiệu
Một trong những hàm gấu trúc được sử dụng phổ biến nhất là
read_excel
. Bài viết ngắn này cho thấy cách bạn có thể đọc trong tất cả các tab trong sổ làm việc Excel và kết hợp chúng thành một DataFrame của Pandas bằng lệnh One & NBSP;
Đối với những người muốn TLDR, đây là lệnh & nbsp;TLDR, here is the command:
df = pd.concat[pd.read_excel['2018_Sales_Total.xlsx', sheet_name=None], ignore_index=True]
Đọc để giải thích về thời điểm sử dụng này và cách thức hoạt động của nó.
Excel Worksheets
Đối với các mục đích của ví dụ này, chúng tôi giả định rằng sổ làm việc Excel được cấu trúc như & nbsp; điều này:
Quá trình tôi sẽ mô tả các công trình & nbsp; khi:
- Dữ liệu không được sao chép trên các tab [Sheet1 là một tháng và các tờ tiếp theo chỉ có một tháng có giá trị & NBSP; dữ liệu]
- Các cột đều được đặt tên là & nbsp; giống nhau
- Bạn muốn đọc trong tất cả các tab và kết hợp & nbsp; chúng
Understanding read_excel
Hàm
read_excel
là một hàm gấu trúc được đóng gói tính năng. Đối với trường hợp cụ thể này, chúng tôi có thể sử dụng tham số
sheet_name
để hợp lý hóa việc đọc trong tất cả các bảng trong tệp Excel & NBSP của chúng tôi.all the sheets in our Excel file.
Hầu hết thời gian, bạn sẽ đọc trong một tờ cụ thể từ tệp Excel & NBSP;
import pandas as pd workbook_url = '//github.com/chris1610/pbpython/raw/master/data/2018_Sales_Total_Tabs.xlsx' single_df = pd.read_excel[workbook_url, sheet_name='Sheet1']
Nếu bạn cẩn thận nhìn vào tài liệu, bạn có thể nhận thấy rằng nếu bạn sử dụng
sheet_name=None
, bạn có thể đọc trong tất cả các tờ trong sổ làm việc cùng một lúc. Hãy thử và NBSP; nó:
all_dfs = pd.read_excel[workbook_url, sheet_name=None]
Pandas sẽ đọc trong tất cả các tờ và trả lại một đối tượng
import pandas as pd workbook_url = '//github.com/chris1610/pbpython/raw/master/data/2018_Sales_Total_Tabs.xlsx' single_df = pd.read_excel[workbook_url, sheet_name='Sheet1']0. Đối với các mục đích của khả năng đọc của bài viết này, tôi đã xác định URL đầy đủ và chuyển nó sang
read_excel
. Trong thực tế, bạn có thể quyết định thực hiện lệnh này & nbsp;Hãy để kiểm tra kết quả
import pandas as pd workbook_url = '//github.com/chris1610/pbpython/raw/master/data/2018_Sales_Total_Tabs.xlsx' single_df = pd.read_excel[workbook_url, sheet_name='Sheet1']2:
odict_keys[['Sheet1', 'Sheet2', 'Sheet3', 'Sheet4', 'Sheet5', 'Sheet6']]
Nếu bạn muốn truy cập một tờ duy nhất dưới dạng A & NBSP; DataFrame:
412290 | Jerde-Hilpert | S2-77896 | 43 | 76.66 | 3296.38 | 2018-03-04 23:10:28 |
383080 | Will LLCLLC | S1-93683 | 28 | 90.86 | 2544.08 | 2018-03-05 05:11:49 |
729833 | Koepp Ltd | S1-30248 | 13 | 44.84 | 582.92 | 2018-03-05 17:33:52 |
424914 | Trắng-Trantow | S2-82423 | 38 | 50.93 | 1935.34 | 2018-03-05 21:40:10 |
672390 | Kuhn-Gusikowski | S1-50961 | 34 | 48.20 | 1638.80 | 2018-03-06 11:59:00 |
Nếu chúng ta muốn tham gia tất cả các khung dữ liệu riêng lẻ vào một DataFrame, hãy sử dụng pd.concat:
df = pd.concat[all_dfs, ignore_index=True]
Trong trường hợp này, chúng tôi sử dụng
import pandas as pd workbook_url = '//github.com/chris1610/pbpython/raw/master/data/2018_Sales_Total_Tabs.xlsx' single_df = pd.read_excel[workbook_url, sheet_name='Sheet1']3 vì các chỉ số được tạo tự động là
import pandas as pd workbook_url = '//github.com/chris1610/pbpython/raw/master/data/2018_Sales_Total_Tabs.xlsx' single_df = pd.read_excel[workbook_url, sheet_name='Sheet1']4,
import pandas as pd workbook_url = '//github.com/chris1610/pbpython/raw/master/data/2018_Sales_Total_Tabs.xlsx' single_df = pd.read_excel[workbook_url, sheet_name='Sheet1']5, v.v. không & nbsp; có ý nghĩa.
Nếu dữ liệu của bạn đáp ứng cấu trúc được nêu ở trên, một lớp lót này sẽ trả về một khung dữ liệu gấu trúc duy nhất kết hợp dữ liệu trong mỗi excel & nbsp; bảng tính: bảng tính:
df = pd.concat[pd.read_excel[workbook_url, sheet_name=None], ignore_index=True]
Bản tóm tắt
Thủ thuật này có thể hữu ích trong các trường hợp phù hợp. Nó cũng minh họa số lượng năng lượng có trong một lệnh gấu trúc mà chỉ cần đọc trong một tệp excel. Notebook đầy đủ có sẵn trên GitHub nếu bạn muốn dùng thử & nbsp;