Si puede utilizar un scripting language, es posible dar Python un tiro:
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)
Ejemplo sesión intérprete:
>>> 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'
Notas:
El default field delimiter es ,
.
El default line terminator para csv.writer
es \r\n
, pero si tiene una necesidad de hacer lo que es posible especificar una alternativa como un argumento de palabra clave También conocido como kwarg.
ejemplo de línea-terminador Alternativa:
with open('yourfile.csv','wb') as fou:
cw = csv.writer(fou,quotechar='',quoting=csv.QUOTE_NONE,lineterminator='\n')
...
Tenga en cuenta que CSV no es un formato muy definido. Algunos usan ";" como el separador, algunos usan el ",". El formato de fecha también es muy variable y la opción para delimitar las cadenas con o sin. Debe aclarar esos requisitos con su cliente (persona o proceso). –