我有一个超过 2 亿行的制表符分隔文件。 linux中将其转换为csv文件的最快方法是什么?这个文件确实有多行标题信息,我需要在路上去掉这些信息,但标题的行数是已知的。我已经看到了对 sed
和 gawk
的建议,但我想知道是否有“首选”选择。
澄清一下,这个文件中没有嵌入标签。
最佳答案
如果您担心嵌入式逗号,那么您需要使用更智能的方法。这是一个 Python 脚本,它从标准输入获取 TSV 行并将 CSV 行写入标准输出:
import sys
import csv
tabin = csv.reader(sys.stdin, dialect=csv.excel_tab)
commaout = csv.writer(sys.stdout, dialect=csv.excel)
for row in tabin:
commaout.writerow(row)
从 shell 中运行它,如下所示:
python script.py < input.tsv > output.csv
关于linux - 在linux中将制表符分隔的文件转换为csv的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2535255/