你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

Pandas 多个工作表、工作簿

2021/12/9 19:55:41

Pandas 多个工作表、工作簿

Pandas 读取多个工作表

import pandas as pd
df=pd.read_excel('附件1.xlsx',sheet_name=None)
for sheetname, data in df.items():
    print(sheetname)
    print(data)

image-20211209163049202

注意一定要设置sheet_name=None

设置后读取的数据返回的结果是按 工作表名:数据 的字典

image-20211209163304596

不设置 默认读取第一个工作表内容

读取一组工作表

import pandas as pd
df=pd.read_excel('附件1.xlsx',sheet_name=['城市疫情','城市省份对照表'])
for sheetname, data in df.items():
    print(sheetname)
    print(data)

image-20211209165651752

也可以使用数字索引

import pandas as pd
df=pd.read_excel('附件1.xlsx',sheet_name=[0,1])
for sheetname, data in df.items():
    print(sheetname)
    print(data)

image-20211209165747997

连接数据

concat函数来连接数据

垂直堆叠参数axis=0

平行连接参数axis=1

多个工作表数据连接

import pandas as pd
df=pd.read_excel('附件1.xlsx',sheet_name=None)
da=[]
for sheetname, data in df.items():
    da.append(data)
alldata=pd.concat(da,axis=1)
print(alldata)

image-20211209171509175

多个工作簿数据链接

os.getcwd()返回值为当前目录
如果需要指定目录将os.getcwd()改为目录即可
import pandas as pd
import os
workbooks=[]
# 获取当前目录下的使用工作簿名称
for root, dirs, files in os.walk(os.getcwd()):
    for file in files:
        if os.path.splitext(file)[1] == '.xlsx':
            workbooks.append(file)
print(workbooks)
da=[]
for workbook in workbooks:
    df=pd.read_excel(workbook,sheet_name=None)
    for sheetname, data in df.items():
        da.append(data)
alldata=pd.concat(da,axis=1)
print(alldata)

image-20211209172805216