我是新来熊猫的,我希望能得到你的帮助。你知道吗
我有两个文件,其中一个非常大(100G+),我需要根据一些列合并。我跳过了大文件中的一些行,因此我将文件作为read\u csv方法的缓冲区。你知道吗
首先,我试着用熊猫。但是,当我尝试使用pandas打开文件时,该进程被操作系统终止。你知道吗
with open(self.all_file, 'r') as f:
line = f.readline()
while line.startswith('##'):
pos = f.tell()
line = f.readline()
f.seek(pos)
return pd.read_csv(f,sep='\t')
后来,我尝试使用dask而不是pandas,但是dask无法获得一个缓冲区作为read\u csv方法的输入,所以失败了。你知道吗
return dd.read_csv(f,sep='\t')
如何打开大文件作为缓冲区并合并两个数据帧?你知道吗
谢谢你!你知道吗
IIUC公司:
因此,您仍然可以使用} ,例如
dd.read_csv
,因为it accepts keywords来自^{skiprows
pandas
的skiprows
示例skiprows
是整数(例如2),那么.read_csv
将跳过2行skiprows
是整数列表(例如[2,3]),则.read_csv
将跳过行号(在.csv
文件中),从行号0开始因此,您可以使用
dask
将这两个文件读入.csv
文件然后将2} 合并
DataFrame
与dask
^{如果这是您所要求的,那么您不需要使用缓冲区。你知道吗
相关问题 更多 >
编程相关推荐