2017-04-04 81 views
1

嗨,我很抱歉打擾,但我有一些主要問題導入Excel文件我希望有人可以給一些建議,我已經嘗試過以前發佈在stackflow上的各種方法沒有他們似乎在工作。導入excel文件在熊貓給出錯誤

import pandas as pd 

# making an excel data sheet 
df = pd.DataFrame({'Dox Dossage': [1,5,10,100,500,1000], 'MP': [7,35,70,700,3500,7000]}) 
writer = pd.ExcelWriter('Michael4-3-17', engine='xlsxwriter') 
df.to_excel(writer, sheet_name='Sheet1') 
writer.save() 

斂excel文件和開口在Excel

import glob 
print(glob.glob('Michael4-3-17*')) 
graphfile = glob.glob('Michael4-3-17*') 
df1 = pd.read_excel(open(graphfile), sheetname=None) 

錯誤,我不斷收到是:

- > 4 DF1 = pd.read_excel(開(graphfile),SHEETNAME =無)

類型錯誤:預計海峽,字節或os.PathLike對象,而不是列出

+0

這裏有什麼用水珠的目的是什麼? – Kewl

+1

'graphfile'似乎是文件路徑的列表。也很確定你不需要在使用'pd.read_excel'時指定'open' –

回答

2

在我看來升有兩個問題:(1)使用glob,你得到一個列表,(2)使用open(graphfile),你沒有傳遞一個文件名。您只需通過做簡化了很多:

graphfile = 'Michael4-3-17.xlsx' 
df1 = pd.read_excel(graphfile, sheetname=None) 

但是,也許你正在使用水珠,因爲你有多個文件,在這種情況下,你可以做到這一點(我有兩個文件,Micahael4-3-17與不在XLSX擴展名):

import glob 
print(glob.glob('Michael4-3-17*')) 
graphfile = glob.glob('Michael4-3-17*') 
for file in graphfile: 
    df1 = pd.read_excel(file, sheetname=None) 
    print(df1) 

主要生產:

['Michael4-3-17', 'Michael4-3-17.xlsx'] 
{'Sheet1': Dox Dossage MP 
0   1  7 
1   5 35 
2   10 70 
3   100 700 
4   500 3500 
5   1000 7000} 
{'Sheet1': Dox Dossage MP 
0   1  7 
1   5 35 
2   10 70 
3   100 700 
4   500 3500 
5   1000 7000} 
+0

非常感謝你的一位天才! –

+0

如果回答您的問題,請務必接受答案(打勾) – Kewl