【发布时间】:2015-04-26 04:14:23
【问题描述】:
我正在尝试将巨大的 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。
所以我尝试通过这种方式指定我的 dtype(我没有复制/粘贴完整的 dtype,因为有 207 个列):
dtype_file = {
'a': pd.np.int16,
'b': pd.np.int16,
...
}
pd.read_csv(filename, sep=",",dtypes=dtype_file, na_filter=False)
【问题讨论】:
-
read_csv使用了哪些参数?