2017-03-08 52 views
1

我正在使用以下代碼打開電子表格。Python XLRD模塊跳過前幾行並讀取錯誤的列:23

in_book = xlrd.open_workbook(TPS_XLS_File) 
in_sheet = in_book.sheet_by_index(0) 

當我嘗試訪問工作表中的行時,讀取從25行跳過電子表格的前23行開始。
command in_sheet.row(1)實際上是返回25行中的值。從25列讀取的數據也不正確,並顯示錯誤消息錯誤:23。值「文本:‘表/文件’」代表在電子表格中的單元格B27,這意味着讀從B25開始

它如下

print(in_sheet.col(2)) 
[empty:'', empty:'', text:'Table/File', error:23, error:23, error:23, error:23, error:23, error:23, error:23, error:23, error:23, error:23, error:23, error:23, error:23, error:23, error:23, error:23, error:23, error:23, error:23, error:23, error:23, error:23, error:23, error:23 

請注意讀取單元格的值。

我已經使用相同的代碼來加載超過1000個文件,除了手中充滿了似乎失敗並出現此錯誤的文件之外,所有這些文件都能正常工作。

任何幫助信息或建議非常感謝。

感謝 阿尼爾

回答

0

大文件,使用大熊貓。 可以使用大熊貓ExcelFileparse方法來讀取Excel工作表,參見IO文檔:

xls = pd.ExcelFile('C:\Users\cb\Machine_Learning\cMap_Joins.xlsm') 

df = xls.parse('Sheet1', skiprows=4, index_col=None, na_values=['NA']) 

skiprows將忽略前4行(即在開始第5行),和幾個other options