gpt4 book ai didi

python - 删除/重新排列/添加非常大的 tsv 文件 Python

转载 作者:行者123 更新时间:2023-11-28 22:49:07 25 4
gpt4 key购买 nike

我有一个非常大的 tsv 文件(1.2GB,5 列,3800 万行)。我想删除一列,添加一列 ID(1 到 38m),然后重新排列列顺序。如何在不使用大量内存的情况下执行此操作?

尽管对其他解决方案持开放态度,但选择的语言是 Python。

最佳答案

您一次可以读取、操作和写入一行。不将整个文件加载到内存中,这将具有非常低的内存签名。

import csv
with open(fileinpath, 'rb') as fin, open(fileoutpath, 'wb') as fout:
freader = csv.reader(fin, delimiter = '\t')
fwriter = csv.writer(fout, delimiter = '\t')
idx = 1
for line in freader:
line[4], line[0] = line[0], line[4] #switches position between first and last column
del line[3] #delete fourth column
line.insert(0, idx)
fwriter.writerow(line)
idx += 1

(这里是python2.7写的,删除第四列为例)

关于重新排列顺序 - 我假设它是列的顺序 - 这可以在操作部分完成。有一个交换第一列和最后一列顺序的示例。

关于python - 删除/重新排列/添加非常大的 tsv 文件 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24294585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com