Reputation: 361
I need to convert my csv:
Original:
"DSP";"Fecha";"Moneda_a_pagar_a_medio";"Impresiones";"Importe_a_pagar_a_medio";"eCPM"
DSP;01/12/2017;USD;2.324;596,73;0,65
What I´m looking for:
DSP,Fecha,Moneda_a_pagar_a_medio,Impresiones,Importe_a_pagar_a_medio,eCPM
DSP,01/12/2017,USD,2324,596.73,0.65
Code:
import csv
with open('test.csv', 'rb') as csvfile:
spamreader = csv.reader(csvfile, delimiter=';', quotechar='|')
print spamreader
Upvotes: 0
Views: 57
Reputation: 21264
Using Pandas, change f
to 'test.csv'
to read from file:
import pandas as pd
data = '''\
"DSP";"Fecha";"Moneda_a_pagar_a_medio";"Impresiones";"Importe_a_pagar_a_medio";"eCPM"
DSP;01/12/2017;USD;2.324;596,73;0,65'''
f = pd.compat.StringIO(data)
df = pd.read_csv(f, sep=";", thousands='.', decimal=',')
df.to_csv('output.csv', index=False)
output:
DSP,Fecha,Moneda_a_pagar_a_medio,Impresiones,Importe_a_pagar_a_medio,eCPM
DSP,01/12/2017,USD,2324,596.73,0.65
Upvotes: 2
Reputation: 3848
import csv
with open('org.csv', 'r', newline='') as f:
spamreader = csv.reader(f, delimiter=';', quotechar='|')
data = list(spamreader)
with open('new.csv', 'w', newline='') as f:
writer = csv.writer(f, delimiter=',', quotechar='|')
writer.writerows(data)
Upvotes: 0