【发布时间】:2019-01-04 15:55:06
【问题描述】:
我有一个 8GB 的 CSV 文件,其中包含有关在法国创建的公司的信息。 当我尝试使用 pandas.read_csv 在 Python 中上传它时,我得到了各种类型的错误;我认为这是导致问题的 3 个因素的组合:
- 文件大小 (8GB)
- 单元格中的法语字符(如“é”)
- 这个 CSV 文件的组织方式类似于 Excel 文件;字段按列分隔,就像 XLS 文件一样
当我尝试使用以下方式导入文件时:
import pandas as pd
df = pd.read_csv(r'C:\..\data.csv')
我收到以下错误:OSError: Initializing from file failed
然后,为了消除大小问题,我复制文件 (data.csv) 并粘贴它,只保留前 25 行 (data2.csv)。这是一个更轻的文件,以消除大小问题:
df = pd.read_csv(r'C:\..\data2.csv')
我得到同样的 OSError: Initializing from file failed 错误。
经过一番研究,我尝试使用 Data2.csv
编写以下代码df = pd.read_csv(r'C:\..\data2.csv', sep="\t", encoding="latin")
这一次,导入成功,但格式很奇怪,像这样:https://imgur.com/a/y6WJHC5。所有字段都在同一列中。
因此,即使消除了大小问题,它也无法正确读取 csv 文件。而且,我仍然需要使用主文件 Data.csv。所以我在初始文件(data.csv)上尝试了相同的代码:
df = pd.read_csv(r'C:\..\data.csv', sep="\t", encoding="latin")
我得到:ParserError:错误标记数据。 C 错误:内存不足
正确读取此 data.csv 的正确代码是什么?
谢谢,
【问题讨论】:
-
您可以添加 CSV 文件的前几行吗?
标签: python pandas csv dataframe out-of-memory