Jeśli można użyć scripting language, może dać Python strzał:
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)
Przykład interpretera sesji:
>>> 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'
Uwagi:
Alternatywny przykład line-terminator:
with open('yourfile.csv','wb') as fou:
cw = csv.writer(fou,quotechar='',quoting=csv.QUOTE_NONE,lineterminator='\n')
...
Należy zauważyć, że plik CSV nie jest bardzo zdefiniowanym formatem. Niektórzy używają ";" jako separator, niektórzy używają ",". Formatowanie daty jest również bardzo zmienne, a opcja ograniczenia ciągów z "lub nie" Powinieneś wyjaśnić te wymagania z klientem (osobą lub procesem) –