将csv转换为不同的csv

问题描述 投票:0回答:2

我需要转换我的csv:

原版的:

"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

我在找什么:

DSP,Fecha,Moneda_a_pagar_a_medio,Impresiones,Importe_a_pagar_a_medio,eCPM
DSP,01/12/2017,USD,2324,596.73,0.65

码:

import csv
with open('test.csv', 'rb') as csvfile:
    spamreader = csv.reader(csvfile, delimiter=';', quotechar='|')
    print spamreader
python csv
2个回答
2
投票

使用Pandas,将f更改为'test.csv'以从文件中读取:

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)

输出:

DSP,Fecha,Moneda_a_pagar_a_medio,Impresiones,Importe_a_pagar_a_medio,eCPM
DSP,01/12/2017,USD,2324,596.73,0.65

0
投票
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)
© www.soinside.com 2019 - 2024. All rights reserved.