使用 Python 快速遍历Excel的多个sheet

  • 史上最快遍历方法
  • pd.io.excel.ExcelFile() 放在 for 循环外部

创建 Excel 文件

1
2
3
4
5
6
7
8
import pandas as pd
data0 = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})
data1 = pd.DataFrame({'a': [1, 5, 9], 'c': [2, 5, 8]})
writer = pd.ExcelWriter('name.xlsx')
data0.to_excel(writer, sheet_name='sheet0')
data1.to_excel(writer, sheet_name='sheet1')
writer.save()
writer.close()

合并Excel文件不同sheet下的字段

1
2
3
4
5
6
7
8
9
10
11
12
import pandas as pd
f = pd.ExcelFile('name.xlsx')
sheet_names = f.sheet_names
merge = []
io = pd.io.excel.ExcelFile('name.xlsx') # 注意,此行不要放在for循环内部,否则将会重复读取excel操作(耗时)
for i in sheet_names:
d =pd.read_excel(io, sheet_name=i)
merge.append(d[['a']])
io.close()

data = pd.concat(merge,axis=1) # 沿X轴方向合并
data.to_csv('merge_sheet.csv')
-------------文章结束啦 ฅ●ω●ฅ 感谢您的阅读-------------