linux - 在linux中将制表符分隔的文件转换为csv的最快方法

标签 linux csv

我有一个超过 2 亿行的制表符分隔文件。 linux中将其转换为csv文件的最快方法是什么?这个文件确实有多行标题信息,我需要在路上去掉这些信息,但标题的行数是已知的。我已经看到了对 sedgawk 的建议,但我想知道是否有“首选”选择。

澄清一下,这个文件中没有嵌入标签。

最佳答案

如果您担心嵌入式逗号,那么您需要使用更智能的方法。这是一个 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/

相关文章:

linux - 如何检查 shell 脚本的一个实例是否已在运行 - Linux

linux - 调试正在加载的内核模块

php - 从sql语句创建多个CSV文件

PHP CSV 文件生成,如何更改 csv 列宽

java - Android读取csv文件中的特定行

linux - 依赖问题 : sun-java6-jdk (bindiff)

linux - stdout 和/dev/stdout 的区别

Linux操作系统下C语言的客户端和服务器通信

python - 用python转换csv文件

Python:读取多个 CSV 文件,并将每个文件分配给不同的变量