2
respostas

Separador no arquivo csv

No meu caso, a resposta gerada ficou um pouquinho grande, pois limitei em 300 caracteres. Desta forma, acabou gerando respostas com vírgulas, mas o separador padrão do arquivo "csv" é uma vírgula, aí acabou dando erro ao abrir o csv gerado, porque acabou tendo mais de uma separação por vírgula, por conta do texto grande da resposta.
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade
De acordo com as boas práticas, como poderia ser feito neste caso? Mudar o separador do arquivo csv? Como?

2 respostas

No vídeo seguinte eu encontrei a solução, usando o Pandas.

Mas no atual eu também encontrei a solução utilizando a biblioteca csv:

import csv
with open("perguntas_respostas.csv", "w", encoding="utf-8") as arquivo:

  
  #arquivo.write("pergunta,resposta" + "\n")
  #for pergunta_resposta in lista_perguntas_respostas:
  #  arquivo.write(f"{pergunta_resposta['pergunta']},{pergunta_resposta['resposta']}" + "\n")

  writer = csv.DictWriter(
        arquivo,
        fieldnames=["pergunta", "resposta"],
        delimiter=",",
        quotechar='"',
        quoting=csv.QUOTE_ALL  # coloca aspas em tudo, evita quebra por vírgulas no texto
    )
  writer.writeheader()
  writer.writerows(lista_perguntas_respostas)  

Ei! Tudo bem, Sergio?

Excelente observação! Esse é um problema clássico ao lidar com arquivos CSV: quando o conteúdo da sua coluna (o texto da resposta, no seu caso) contém o mesmo caractere que você está usando para separar as colunas (a vírgula), o arquivo "quebra".

Parabéns por resolver, fico feliz! E agradeço por compartilhar como resolveu aqui na comunidade, vai ajudar muitos(as) colegas.

Continue se dedicando aos estudos, qualquer dúvida não deixe de compartilhar no fórum.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado