首页 > 解决方案 > pd.read_csv 没有创建具有适当属性的数据框

问题描述

我试图让 pandas 读取为具有数百万个数据条目的 csv,并且当我尝试将数据缩减到相关列时

这是代码的早期阶段,没有适当的数据就无法继续

import pandas as pd


cols =  [1, 5, 6, 7, 10]
col_index = ["PGC", "GWGC", "HyperLEDA", "2MASS", "SDSS-DR12", "flag", "RA", "dec", "Luminosity Distance", "Distance Error", "Redshift", "Apparent B Magnitude", "B Magnitude Error",
"Apparent J Magnitude", "J magnitude error", "Apparent H Magnitude", "H Magnitude Error", "K Magnitude", "K Magnitude Error",
"Flag2", "Flag3"]#1, 5, 6, 7, 10]

df_cat = print(pd.read_csv("GLADE_2.3 - Copy.csv", chunksize = 10**8, index_col = col_index, usecols = cols))

print(df_cat.head())

AttributeError:“NoneType”对象没有属性“head”

看起来 csv 没有被成功读入,我知道对于这么大的文件,很可能有更好的方法来处理文件 - 任何和所有建议都值得赞赏

编辑:非常感谢所有回答的人!我非常感谢您的帮助,因为我只是想掌握 pandas 并与内置模块保持混合和匹配

标签: pythonpandascsvdataframe

解决方案


编辑:没关系......我没有看到@Kris 和@ALollz 在评论中已经回答了这个问题。

看起来你的“df_cat”是一个由打印语句产生的字符串。如果你删除 pd.read_csv() 之前的 print() 语句,我认为它会起作用。

# delete the print statement here
df_cat = pd.read_csv("GLADE_2.3 - Copy.csv", chunksize = 10**8, index_col = col_index, usecols = cols)

# keep the print statement here
print(df_cat.head())

推荐阅读