问题描述
我最初尝试使用pandas pd.read_csv读取4GB的csv文件,但我的系统内存不足(我想),并且内核正在重新启动或系统挂起。 因此,我尝试使用vaex库将csv转换为HDF5并对其进行操作(聚合,分组依据)。为此,我使用了:
$ ./node
./node: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
但是仍然我在csv文件中获得了我的第一条记录作为标题(准确地说是列名),而且我无法更改列名。我试图找到函数来更改名称,但没有遇到任何问题。请帮我。谢谢:)
列名称1559104、10289、991 ...实际上是csv中的第一条记录,而vaex将第一行作为我想避免的列名称 this answer's
解决方法
vaex.from_csv
是pandas.read_csv
的包装,几乎没有其他转换选项。
因此,如果您想让csv阅读器自动推断列名,请阅读header='infer'
(这是默认设置)。否则,文件的第一行将用作标题。另外,您可以通过names
kwarg手动传递列名。 vaex和熊猫也是如此。
我将阅读pandas.read_csv
文档,以更好地理解所有选项。然后,您可以将这些选项与vaex以及convert
和chunk_size
参数一起使用。