2016-02-28 202 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行和所有列。