1

我最初尝试使用 pandas pd.read_csv 读取 4GB 的 csv 文件,但我的系统内存不足(我猜)并且内核正在重新启动或系统挂起。因此,我尝试使用 vaex 库将 csv 转换为 HDF5 并对其进行操作(聚合、分组)。为此,我使用过:

df = vaex.from_csv('Wager-Win_April-Jul.csv',column_names = None, convert=True, chunk_size=5000000)

and

df = vaex.from_csv('Wager-Win_April-Jul.csv',header = None, convert=True, chunk_size=5000000)

但是我仍然将 csv 文件中的第一条记录作为标题(准确地说是列名),并且我无法更改列名。我尝试找到更改名称的功能,但没有遇到任何问题。请帮助我。谢谢 :)

列名 1559104、10289、991... 实际上是 csv 中的第一条记录,并且 vaex 以某种方式将第一行作为我想要避免的列名 在此处输入图像描述

4

1 回答 1

1

vaex.from_csv是一个包装器pandas.read_csv,几乎没有额外的转换选项。

header='infer'因此,如果您希望 csv 阅读器自动推断列名,请阅读 pandas 文档(这是默认设置)。否则,文件的第一行将用作标题。或者,您可以通过nameskwarg 手动传递列名。vaex 和 pandas 也是如此。

我会阅读pandas.read_csv文档以更好地理解所有选项。然后您可以将这些选项与 vaex 和convertandchunk_size参数一起使用。

于 2020-10-19T23:02:17.297 回答