我正在尝试将巨大的csv文件导入pandas Dataframe(200列和数百万行)。
我正在使用read_csv方法,该方法在参数中提供了dtypes字典,以加快导入速度。
我有一些关于错误格式的例外,我给dtype这样的想法:
ValueError:以10为底的long()的无效文字:''
但是没有引用行号或列名。我的文件很大,该信息将帮助我节省很多时间来查找dtypes结构中的问题。
任何的想法 ?
编辑 :
更准确地说,我将解释所有故事。首先,我尝试读取我的csv文件,该文件在以下命令行中:
t = pd.read_csv(filename, sep=",")
它给我这个错误信息:
C:\ Python27 \ lib \ site-packages \ pandas \ io \ parsers.py:1159:DtypeWarning:列(0)具有混合类型。在导入时指定dtype选项,或将low_memory = False设置为false。
所以我尝试通过这种方式指定我的dtype(我没有复制/粘贴完整的dtype,因为有207个cols):
dtype_file = {
'a': pd.np.int16,
'b': pd.np.int16,
...
}
pd.read_csv(filename, sep=",",dtypes=dtype_file, na_filter=False)
实际上,我可以使用low_memory参数自己解决该问题:
pd.read_csv(filename, sep=",", na_filter=False, low_memory=False)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句