2016-02-28 100 views
-1

我有了15行和22列的CSV文件。每次我嘗試導入文件時,都會排除第11和第12列。熊貓read_csv不斷返回NULL列

什麼奇怪的是,如果我嘗試這與20列或更小的文件,這個問題不會發生。

任何幫助,將不勝感激。

我已經更新了下面的代碼,並嘗試了不同的CSV文件。正如你可以從輸出中看到的,它不只是,當他們打印的列沒有顯示,但是當我嘗試使用SQLDF查詢它,它說,列不存在。

這裏是我的代碼:

import pandas as pd 
mydata_demographics= pd.read_csv('Demographics2.csv', header=0) 
mydata_demographics.head() 

from pandasql import sqldf 
query_T = """ 
select 
b1.customer_id, 
b1.YOB, b1.NumChildren, b1.City, b1.Population_K, b1.HouseHolds, 
b1.HHAveSize,  
b1.PopUnder5, b1.Pop5_16, b1.Pop17_25, b1.Pop26_35, 
b1.Pop36_45, b1.Pop46_55, b1.Pop56_65, b1.PopOver65, 
b1.HHIncomeMed, b1.WhtCollarOcc, b1.BluCollarOcc 
from 
mydata_demographics B1 
""" 

mydata_demo_T= sqldf(query_T, globals()) 
mydata_demo_T.head() 

這裏是原始數據的樣本(同樣,有22列,15列):

HouseHolds HHAveSize PopUnder5 Pop5_16 
     277   2.2   5.8  14.9 
     277   2.2   5.8  14.9 
     277   2.2   5.8  14.9 
     292   2.3   5.8  14.9 

而這裏的結果的一個樣本:

 City Population_K HouseHolds  ...   Pop5_16  
0 Chicago   623   277  ...    14.9   
1 Chicago   623   277  ...    14.9   
2 Chicago   623   277  ...    14.9   
3 Chicago   684   292  ...    14.8   

現在,當我運行的SQL代碼,它提供了以下錯誤,列HHAveSize不è XIST:

PandaSQLException: (sqlite3.OperationalError) no such column: b1.HHAveSize  
[SQL: '\nselect \nb1.customer_id, \nb1.YOB, b1.NumChildren, b1.City, 
b1.Population_K, 

當運行 mydata_demographics.shape

它表明有22列: mydata_demographics.shape 缺貨[45]:(15,22)

+1

你能請張貼實際原始csv文件數據? –

+1

你能發佈實際結果嗎?正如您在示例中所示,行之間是否有點?因爲這隻意味着你有列,但由於列數很大,所以不會顯示所有內容。 – Shweta

+1

嘗試'打印mydata_1.shape'來查看實際的#列 – Happy001

回答

0

如Shweta提到在評論中,列可能在那裏,他們只是沒有被顯示。如果您希望能夠看到所有列,你可以打印你的數據幀,如:

with pd.option_context('display.max_columns', len(mydata_1.columns), 'display.max_rows', 4): 
    print mydata_1 

這將打印第4行和所有列。