Pandas read_excel无法读取Excel文件全部列的问题求助
Pandas read_excel无法读取Excel文件全部列的问题求助
我目前在用Python 3.12.6和pandas==2.2.3版本,之前一直用这段代码读取Excel文件的第一个工作表,从来没出过问题:
df = pd.read_excel(file_path, engine='openpyxl', sheet_name=0, index_col=None)
但最近遇到一个奇怪的Excel文件,它的表头列是这些:
"NOME", "DATA INSCRIÇÃO ", "PROVA OBJETIVA", "PROVA DISCURSIVA"
不过我注意到部分单元格里有换行,可能对UTF-8编码来说不太友好。现在的问题是,read_excel()只能读到DATA INSCRIÇÃO这一列,后面的列都读不进来:
print(df.columns) Index(['NOME', 'DATA INSCRIÇÃO '], dtype='object')
我把这个工作表另存为.csv,用记事本打开后看到的内容是这样的:
NOME;DATA INSCRIÇÃO ;"PROVA OBJETIVA";"PROVA DISCURSIVA"
能看到有问题的列里刚好有换行和引号。有没有人知道为什么会出现这种情况?或者有没有更好的方法能让Python读取到所有列?
另外我试过把工作表存成.csv后用read_csv()读取,结果出现了编码错误,我怀疑这就是问题根源。不过如果我这么写:
df = pd.read_csv(csv_path, delimiter=';', encoding='latin1')
就能正常读取了!这说明可能是有Latin1编码的换行符,导致read_excel()处理不了,但read_excel()又没有encoding参数可以设置。我翻了read_excel的其他参数,好像都解决不了这个问题,求大家帮忙支个招!
备注:内容来源于stack exchange,提问作者Henrique Labella
相关产品推荐
相关产品推荐

