我完全困惑。可能我錯過了pandas
API的更新。Python Pandas read_excel解析Pandas 0.18.1和Pandas之間的MultiIndex數據框的不同行爲> 0.19
所以我有這個excel
文件
在Pandas 0.18.1
我沒有遇到任何問題,在閱讀和分析文件。我用下面的代碼,
import pandas as pd
fname = 'SAMPLE_EXCEL_CAUSING_ERROR_IN_PANDAS_0_19_UP.xlsx'
pd.read_excel(fname, 'Sheet1', header=[0,1], index=[0,1])
它返回了我想要的東西。
最近,我更新了我的包,現在我pandas
是version 0.20.1
。但是,當我試圖用相同的excel文件執行相同的代碼時,它返回一個錯誤。以下是錯誤消息:ValueError: Length of new names must be 1, got 2
。
任何線索在哪裏我想念read_excel
新的API?我完全困惑。是否有任何解決方法可以使用MultiIndex
列讀取excel
文件?我的實際數據有三級索引而不是二級索引。非常感謝您的任何建議。
P.S.如果我設置header
爲header=[1,2]
那麼它沒有拋出任何錯誤消息,我不能降級到0.18.1
,因爲我的用戶使用0.20.1
UPDATE
奇怪。但是,我的指數錯誤。仍試圖解決此問題的解決方法。
IIRC有一個變化以大熊貓如何讀/寫(它沒在一個版本中)多索引 - 它可能在版本更改日誌中? –
@JonClements謝謝你的提示。仍在苦苦搜索,並找出如何在'read_excel'中正確使用'pandas version 0'中的'header'和'index'。19'或更高。 – arnold
嗯,你需要'pd.read_excel(fname,'Sheet1',header = [0,1],index = 0)'? – jezrael