Estou anexando uma grande quantidade de dados e gravando em um arquivo csv.
Os dados são uma lista anexada a um exemplo:
data = ['438.0337145,438.0178423,0.0158\n', '438.0497017,438.0337145,0.01598\n']
with open(uuidCSV, 'w') as csvFile:
wr = csv.writer(csvFile, lineterminator="\n", quoting=csv.QUOTE_ALL, delimiter=",")
wr.writerow(data)
Quando abro o arquivo csv a saída é:
"438.0337145,438.0178423,0.0158
","438.0497017,438.0337145,0.01598
Usar o método abaixo cria:
with open(uuidCSV, 'w') as csvFile:
wr = csv.writer(csvFile, lineterminator="\n", quoting=csv.QUOTE_NONE, delimiter=",", escapechar="\"")
wr.writerow(data)
Cria:
438.0337145",438.0178423",0.0158"
,438.0497017",438.0337145",0.01598"
Existe uma maneira de remover as aspas para que a saída seja:
438.0337145,438.0178423,0.0158
438.0497017,438.0337145,0.01598
Você não precisa usar pandas conforme recomendado por Mark. Você pode fazer isso com o que você tem.
Em primeiro lugar, você vai querer mudar
quoting=csv.QUOTE_ALL
paraquoting=csv.QUOTE_MINIMAL
para que isso funcione.Em segundo lugar, é necessário organizar a lista de dados.
Atualmente pensa
438.0337145,438.0178423,0.0158\n
que é uma string. As aspas são adicionadas automaticamente na saída, pois as strings contêm vírgulas e isso causará problemas ao abrir ou ler o CSV.Adicione mais apóstrofos para dividi-los em strings individuais ou remova os apóstrofos para ter números flutuantes (números).
Em seguida, você precisará percorrer cada linha e imprimi-las de forma independente.
Tente fazer o seguinte:
Consulte a documentação para obter mais informações: https://docs.python.org/3/library/csv.html
Com dados csv que incluem vírgulas nos campos, geralmente uso as ferramentas csv do pandas e defino barras verticais "|" como o delimitador. Algo assim: