我尝试使用pandas.read_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导入多个工作表,还可以根据哪个工作表指定特定的列?
感谢。
答案 0 :(得分:6)
当您将工作表名称列表传递给read_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&的更新熊猫0.23.4:
pd.read_excel(excelFile, sheet_name=ws, usecols=c)