[英]Looping multiple Excel sheets in read_excel into a concatenated dataframe in Pandas
[英]Appending a Pandas .read_excel dataframe to a new dataframe
我正在嘗試將多個XLS文件讀取到熊貓的數據框中。 它們似乎讀入正確-但是當我嘗試顯示(df),df.info()或df.head()時,數據框為空。
所有數據都在名為data1
子文件夾中。 xls工作表分別命名為a.xls
和b.xls
。
數據集如下:
xls
Account Description Final Adjustment Adj Final
324 Testing1 2342 0 2342
232 Essential 5678 0 5678
35 Options 2345 0 2345
634 Working 45 5675 5720
23 Time 45774 0 45774
52 Styling 67 0 67
b.xls
Account Description Final Adjustment Adj Final
343 Visual 345 0 345
576 IO Tools 34543 0 34543
6567 Options 6356 0 6356
8675 Pickling 7456 5675 13131
345 Clipboard 5678 0 5678
6365 Flat 2355 645 3000
碼:
import pandas as pd
import os
from IPython.display import display, HTML
df = pd.DataFrame()
for filename in os.listdir('data1'):
if filename.endswith(".xls"):
print(f'appending {filename}')
data = pd.read_excel(os.path.join("data1", filename), sheet_name=0)
display(data)
df.append(data)
display(df)
else:
print(f'skipping {filename}, wrong data type')
輸出:
appending a.xls
Account Description Final Adjustment Adj Final
0 324 Testing1 2342 0 2342
1 232 Essential 5678 0 5678
2 35 Options 2345 0 2345
3 634 Working 45 5675 5720
4 23 Time 45774 0 45774
5 52 Styling 67 0 67
___
appending b.xls
Account Description Final Adjustment Adj Final
0 343 Visual 345 0 345
1 576 IO Tools 34543 0 34543
2 6567 Options 6356 0 6356
3 8675 Pickling 7456 5675 13131
4 345 Clipboard 5678 0 5678
5 6365 Flat 2355 645 3000
___
display(data)
產生上面的表格,但是display(df)
產生___
。 所以,我以某種方式將excel文件讀入data
,但沒有將其附加到df
。
df.info()
產生:
<class 'pandas.core.frame.DataFrame'>
Index: 0 entries
Empty DataFrame
我的問題是如何append
多個Excel工作簿的data
append
到單個數據框( df
)中。
您永遠不會重新分配變量df
,然后您的數據框為空。 你應該做:
df = df.append(data)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.