Martin Bouhier
Martin Bouhier

Reputation: 361

Convert csv to different csv

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

Answers (2)

andrew_reece
andrew_reece

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

pstatix
pstatix

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

Related Questions