如何将制表符分隔文件转换为CSV格式?

Sre*_*air 19 csv excel attributes text-files

我有这种格式的文本文件:

{

attribute1 attribute2 attribute3.... attributeN

value"A" value"B" value"C".... value"Z"

/* next line of values*/

}
Run Code Online (Sandbox Code Playgroud)

每个单词由制表符分隔.

如何转换为CSV格式?我尝试使用Excel,但它提供了兼容性问题.

Luc*_*oli 26

使用tab作为列分隔符,使用excel(数据>从文本文件加载)导入数据.然后将文件另存为csv.

它不具备兼容性问题,这是一项基本任务,我过去经常这样做.


ber*_*nie 12

如果你可以使用脚本语言,你可能会给Python一个镜头:

import csv

# read tab-delimited file
with open('yourfile.tsv','rb') as fin:
    cr = csv.reader(fin, delimiter='\t')
    filecontents = [line for line in cr]

# write comma-delimited file (comma is the default delimiter)
with open('yourfile.csv','wb') as fou:
    cw = csv.writer(fou, quotechar='', quoting=csv.QUOTE_NONE)
    cw.writerows(filecontents)
Run Code Online (Sandbox Code Playgroud)

解释器会话示例:

>>> import csv
>>> with open('yourfile.tsv','rb') as fin:
...     cr = csv.reader(fin, delimiter='\t')
...     filecontents = [line for line in cr]
...
>>> with open('yourfile.csv','wb') as fou:
...     cw = csv.writer(fou, quotechar='', quoting=csv.QUOTE_NONE)
...     cw.writerows(filecontents)
...
>>> with open('yourfile.csv','rb') as see_how_it_turned_out:
...     for line in see_how_it_turned_out: 
...         line
... 
'attribute1,attribute2,attribute3,attributeN\r\n'
'value"A",value"B",value"C",value"Z"\r\n'
Run Code Online (Sandbox Code Playgroud)

笔记:

替代的行终止符示例:

with open('yourfile.csv','wb') as fou:
    cw = csv.writer(fou,quotechar='',quoting=csv.QUOTE_NONE,lineterminator='\n')
    ...
Run Code Online (Sandbox Code Playgroud)