获取 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。
我有 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。