Мне нужно конвертировать текстовый файл в лист Excel - PullRequest
0 голосов
/ 13 мая 2019

Я пытаюсь загрузить данные в MySQL. этот текстовый файл в табличном формате, мне нужно преобразовать в лист Excel, текст выглядит следующим образом:

AC NO PART NO SR NO Voter Name ID CARD NO GENDER AGE    
195 5 747 अमर सुदाम नाडेकर AFB8066037 M 22
195 12 502 अमर बाळु सुकाळे AFB1833029 M 29
195 20 1014 अमर सुदाम नाडेकर AFB8272858 M 22
195 22 449 अमर रामचंद्र भालिंगे AFB8121022 M 22
195 29 379 अमरदीप एकनाथ कुमकर AFB8068603 M 20
195 36 617 अमर तानाजी डुंबरे AFB7546203 M 30
195 37 360 अमर सिताराम तांबे AFB7987993 M 23

Я попробовал какой-то код, он дает мне формат CSV, как это:

"AC,NO,PART,NO,SR,NO,Voter,Name,ID,CARD,NO,GENDER,AGE,,,,
","195,5,747,अमर,सुदाम,नाडेकर,AFB8066037,M,22
","195,12,502,अमर,बाळु,सुकाळे,AFB1833029,M,29
","195,20,1014,अमर,सुदाम,नाडेकर,AFB8272858,M,22
","195,22,449,अमर,रामचंद्र,भालिंगे,AFB8121022,M,22
","195,29,379,अमरदीप,एकनाथ,कुमकर,AFB8068603,M,20
","195,36,617,अमर,तानाजी,डुंबरे,AFB7546203,M,30
","195,37,360,अमर,सिताराम,तांबे,AFB7987993,M,23
","195,42,450,अमर,आशोक,हांडे,FTV1708460,M,35

это мой код:

import csv
import pandas as pd

f = open('voters_search_results1.txt')

x = f.readlines()
s = []

for i in x:
  i = i.replace(","," ")
  j = i.replace(" ",",")
  s.append(j)

csvex = csv.writer(open("txt2csv_export.csv","w"), delimiter= ','  
     ,quoting= csv.QUOTE_MINIMAL)
csvex.writerow(s)


df = pd.read_csv('txt2csv_export.csv')
df.to_excel('output.xlsx', 'Sheet1')

Когда я пытаюсь загрузить его в MySQL, появляется эта ошибка:

"" "повысить XLRDError ('неподдерживаемый формат или поврежденный файл:' + msg) xlrd.biffh.XLRDError: неподдерживаемый формат или поврежденный файл: ожидается Запись BOF; найдено b '"AC, NO, P'" ""

1 Ответ

0 голосов
/ 13 мая 2019

Ваш разделитель полей выходного файла выглядит неправильно и имеет двойную кавычку в начале строки, но не совпадает с конечной двойной кавычкой, значения CSV должны быть примерно такими:

"AC","NO","PART","NO","SR"... etc

Попробуйте добавить кавычку, чтобы разделить поля знаком "в формате:

csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...