获取 header 个 csv 文件

Get header of csv file

我有 3000 个 Excel 文件。我想获取每个文件的 headers 并将其存储为 csv。但是,我 运行 遇到了解析错误:

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

我已经看过这个post。它没有解决问题:UnicodeDecodeError: 'charmap' codec can't decode byte X in position Y: character maps to <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

我将其从 PDF 转换为 Excel。但是在转换过程中,我指定了 encoding="utf8".

如何从此文件中获取 header?

非常感谢您的帮助。

.xlsx 不是 CSV 文件。您不能使用 pandas.read_csv() 或模块 csv 来读取 .xlsx

对 excel 个文件使用 pandas.read_excel() 或模块。参见:www.python-excel.org

据我所知,.xlsx 是 ZIP 文件,其中包含 XML 文件 - 因此您也可以尝试解压缩并阅读 xml。