Получить заголовок файла CSV - PullRequest
1 голос
/ 04 апреля 2019

У меня 3000 файлов Excel.Я хочу получить заголовки каждого файла и сохранить его как CSV.Тем не менее, я сталкиваюсь с ошибкой синтаксического анализа:

 'utf-8' codec can't decode byte 0xfa in position 1: invalid start byte

Я уже видел этот пост.Это не решает проблему: UnicodeDecodeError: кодек 'charmap' не может декодировать байт X в позиции Y: символ отображается на

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".

Как мне получить заголовок из этого файла?

Большое спасибо за вашу помощь.

1 Ответ

0 голосов
/ 05 апреля 2019

.xlsx не является файлом CSV.Вы не можете использовать pandas.read_csv() или модуль csv для чтения .xlsx.

Используйте pandas.read_excel() или модули для файлов Excel.См .: www.python-excel.org

Как я знаю .xlsx - это ZIP-файл с XML-файлом внутри - так что вы также можете попробовать разархивировать его и прочитать xml.

...