提问者:小点点

Pandas read_excel(),具有多张工作表和特定列


我正在尝试使用熊猫。阅读excel()从电子表格导入多个工作表。如果我不使用parse_cols关键字指定列,我就可以从工作表中获取所有数据,但我似乎不知道如何为每个工作表指定特定列。

import pandas as pd

workSheets = ['sheet1', 'sheet2', 'sheet3','sheet4']
cols = ['A,E','A,E','A,C','A,E']

df = pd.read_excel(excelFile, sheetname=workSheets, parse_cols='A:E')  #This works fine
df = pd.read_excel(excelFile, sheetname=workSheets, parse_cols=cols) #This returns empty dataFrames

有人知道是否有一种方法,使用read_excel(),从excel导入多个工作表,但也根据哪个工作表指定特定的列吗?

谢谢


共1个答案

匿名用户

当您将工作表名称列表传递给read\u excel时,它将返回一个字典。使用循环可以实现同样的效果:

workSheets = ['sheet1', 'sheet2', 'sheet3', 'sheet4']
cols = ['A,E', 'A,E', 'A,C', 'A,E']
df = {}
for ws, c in zip(workSheets, cols):
    df[ws] = pd.read_excel(excelFile, sheetname=ws, parse_cols=c)

下面是Python 3.6.5的更新

pd.read_excel(excelFile, sheet_name=ws, usecols=c)