![生成 csv 文件](https://linux22.com/image/101523/%E7%94%9F%E6%88%90%20csv%20%E6%96%87%E4%BB%B6.png)
我有一个生成文件的脚本.txt
。
该文件有tab-delimited
列。列数因输入文件而异。
如何将该.txt
文件转换为 csv 格式?我希望.txt
文件中的列位于 csv 文件中的单独列中。
样本:
.txt
文件:
header1 header2 header3 header4
1 B 423.sagd.32 333
2 A YXTS.a324.gfd33 555
3 F 343.asr 222
4 D cbs.98st.asd 4232
CSV 文件(预期输出):
A B C D
1 header1 header2 header3 header4
2 1 B 423.sagd.32 333
3 2 A YXTS.a324.gfd33 555
4 3 F 343.asr 222
5 4 D cbs.98st.asd 4232
注意:该文件没有固定的列数或行数。
答案1
.csv 文件没有什么神奇之处。它仅表示逗号(有时是制表符)分隔的值。
mv myfile.txt myfile.csv
完毕
答案2
要将制表符分隔文件转换为逗号分隔文件:
$ tr '\t' ',' <input.txt >output.csv
这会将所有制表符简单地替换为逗号。
如果您的数据已包含逗号,则需要引用这些数据字段。这是一个不平凡的操作。最好使用支持 CSV 的工具来执行此操作,例如 csvkit
:
$ csvformat -t input.txt >output.csv