Supondo que os espaços entre ,
e "
são erros de digitação (se não, então o "
está incorporado em uma cadeia começando com um caractere de espaço e seu arquivo CVS não padrão), você pode fazer o seguinte Python:
import sys
import csv
out = csv.writer(sys.stdout, delimiter=',', quotechar='"',
quoting=csv.QUOTE_NONNUMERIC)
with open(sys.argv[1]) as csv_file:
for line in csv.reader(csv_file, delimiter=',', quotechar='"'):
out.writerow([x.replace('\n', '') for x in line])
Isso também manipulará corretamente as aspas duplas quando elas ocorrerem em uma cadeia com aspas duplas, como " abc""def "
, que obterá a string abc"def
Observe que o módulo csv do Python, por padrão, remove aspas redundantes da saída. A última linha, por exemplo será
11, Opex Spend on communication activites, bangaram ,0,, 0
como em um arquivo CSV apropriado, nenhuma citação é necessária em torno do segundo elemento (ele não contém o caractere de citação nem contém uma nova linha).