Hướng dẫn how do i merge sheets in excel using pandas? - làm cách nào để hợp nhất các trang tính trong excel bằng gấu trúc?

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:

số tài khoảnTênSKUsố lượngĐơn giáGiá EXTngày01234
412290 Jerde-HilpertS2-7789643 76.66 3296.38 2018-03-04 23:10:28
383080 Will LLCLLC S1-9368328 90.86 2544.08 2018-03-05 05:11:49
729833 Koepp LtdS1-3024813 44.84 582.92 2018-03-05 17:33:52
424914 Trắng-TrantowS2-8242338 50.93 1935.34 2018-03-05 21:40:10
672390 Kuhn-GusikowskiS1-5096134 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;

Bài Viết Liên Quan

Chủ Đề