2016-03-08 127 views
0

我正在嘗試使用Pandas來讀取excel文件。使用熊貓處理Excel文件

  1. 我想只有通過柱4

  2. 讀取列2我想跳過讀取第9行。

  3. 即使有,skiprows=8, parse_col=["B:D"],存儲在df中的數據看起來與傳入的excel文件相同,並且不排除前9行或排除期望的列。

我的語法有什麼問題,爲什麼我的輸入的excel文件中減去9行和幾列的數據庫結構不存儲在df中?

我的接收下面的數據:

Null,Null,Null,Null,Null,Null,Null,Null,Null  
Null,Null,Null,Null,Null,Null,Null,Null,Null  
Null,Null,Null,Null,Null,Null,Null,Null,Null  
Null,Null,Null,Null,Null,Null,Null,Null,Null     
Null,Null,Null,Null,Null,Null,Null,Null,Null         
Null,Null,Null,Null,Null,Null,Null,Null,Null      
Null,Null,Null,Null,Null,Null,Null,Null,Null         
Null,Null,Null,Null,String1,String2,Null,Null,Null 
Null,Phase to Phase Voltage,A - B,210.0,C - A,211.0,B - C,212.0 
Null,Circuit/Breaker,Number,Internal Meter Amps,External Meter Amps,Measured Difference,% Difference,Location Identifier,Total Location Amperage,Comments 
Null,Main Phase A,94.1,96.,2.8,3%,Null,Null,Null    
Null,Main Phase B,90.1,92.6,2.5,3%,Null,Null,Null   
Null,Main Phase C,91.9,92.1,0.2,0%,Null,Null,Null  
Null,Neutral,0.0,0.4,0.4,100%,Null,Null,Null    
Null,Ground 0.0,0.1,0.1,100%,Null,Null,Null   
Null,1,10.6,10.2,-0.4,-4%,Null,Null,Null    
Null,2,10.6,10.3,-0.3,-3%,Null,Null,Null     
.... 

我的代碼如下:

import pandas as pd 

df = pd.read_excel('filelocation.xlsx', sheetname=['pnl1 Data ','pnl2 Data','pnl3 Data','pnl4 Data'], skiprows=8, parse_col=["B:D"], keep_default_na='FALSE', na_values=['NULL']) 
+0

從來沒有聽說過這個問題。你有沒有試過只讀一張('表名')而不是幾張?如果您嘗試閱讀多張表,'read_excel'將返回一個'DataFrames'字典,其中代表工作表的鍵。我認爲只用一張紙重現問題就可以找出問題所在。 – Romain

+0

當試圖解析一張紙時,我遇到了同樣的問題。我的新行看起來像這樣:'df = pd.read_excel('C:/Users/Jerry/Documents/panoptics/panopticsMeeting2.28.16/FDC 1301 Data Collection(upTo48BreakerDevice) - original.xlsx',sheetname = ['pnl1 Data' ],skiprows = 8,parse_col = [「B:D」],keep_default_na ='FALSE',na_values = ['NULL'])' – pHorseSpec

回答

1

你拼錯parse_cols參數名稱,使用parse_cols代替parse_col。除了你要麼指定一個像"B:D"(或"B,C,D")的字符串或類似['B','C','D']

列表試試這個:

import pandas as pd 

df = pd.read_excel('filelocation.xlsx', 
     sheetname=['pnl1 Data ','pnl2 Data','pnl3 Data','pnl4 Data'], 
     skiprows=8, parse_cols="B:D", keep_default_na='FALSE', na_values=['NULL']) 

PS還要檢查這個SHEET_NAME:'pnl1 Data '的尾隨空間

+0

表名實際上有一個尾部空格, 。此外,當我將'parse_col'更改爲'parse_cols'時,出現以下錯誤:' 文件「C:\ Users \ Jerry \ Anaconda2 \ lib \ site-packages \ pandas \ io \ parsers.py」,第1817行, in _next_line raise StopIteration StopIteration' – pHorseSpec

+0

對不起。 NVM。當我插入你的代碼時,它工作。我的代碼中的一些語法必須是錯誤的。 – pHorseSpec