获取csv文件的标题

时间:2019-04-04 20:56:02

标签: pandas csv export-to-csv reader

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

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

我已经看过这篇文章。它不能解决问题: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”。

如何从该文件中获取标题?

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

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

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

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