У меня есть 3000 файлов Excel. Я хочу получить заголовки каждого файла и сохранить их как CSV. Однако я столкнулся с ошибкой синтаксического анализа:
'utf-8' codec can't decode byte 0xfa in position 1: invalid start byte
Я уже видел этот пост. Это не решает проблему: UnicodeDecodeError: ' Кодек charmap не может декодировать байт X в позиции Y: символы сопоставляются с ‹undefined›
import glob
import pandas as pd
all_files = glob.glob("Converted Excels/*.xlsx")
file = all_files[0]
#Try 1
columns = []
with open(file, "r") as csv_file:
csv_reader = csv.reader(csv_file, delimiter=',')
for row in csv_reader:
columns.append([row])
break
#Try 2
df = pd.read_csv(file, header=0, nrows=1)
df
Вот пример файла. https://docs.google.com/spreadsheets/d/194QD14g_L0NQK6j3yO2Et2ZzycfQDzJXu7vdlr20owA/edit?usp=sharing
Я преобразовал это в Excel из PDF. Но во время преобразования я указал encoding="utf8".
Как я могу получить заголовок из этого файла?
Большое спасибо за твою помощь.
df = pd.read_csv('2011 abril 1.csv - 2011 abril 1.csv')
только что работал на меня.. - person Erfan   schedule 05.04.2019b'\x9d'.decode('cp437')
дает¥
- так что, возможно, ваш файл находится вCP437
, а не вUTF8
, и вам нужно использовать правильныйendcoding
, когда вы его читаете. - person furas   schedule 05.04.2019read_csv('2011 abril 1.csv - 2011 abril 1.csv')
. Linux Mint, Python 3.7, панды 0.24.1 - person furas   schedule 05.04.20190xFA
этоú
в кодировкеWindows-1252
, поэтому, возможно, вам следует использоватьencoding='windows1252'
при загрузке файлов. См.: i18nqa.com/debug/utf8-debug.html. - person furas   schedule 05.04.2019.xlsx
не является CSV-файлом. Вы не можете использоватьread_csv()
или модульcsv
для чтения.xlsx
. Используйтеread_excel()
. Насколько я знаю,.xlsx
- это zip-файл с файлом xml внутри. - person furas   schedule 05.04.2019