使用pandas读取Excel文件时遇到问题

6 浏览
0 Comments

使用pandas读取Excel文件时遇到问题

我正在尝试使用pandas读取一个包含超过50000行的Excel文件,并且在所有情况下都遇到了相同的错误。

代码如下:

strfile='C:\\Users\\...\\excel_files\\excelfile_01.xls'

尝试01:

import pandas as pd
data = pd.read_excel(strfile, low_memory=False)

尝试02:

import pandas as pd
data = pd.read_excel(strfile, encoding='utf-16-le',low_memory=False)

尝试03:

import pandas as pd
data = pd.read_excel(strfile, encoding='sys.getfilesystemencoding()',low_memory=False)

尝试04:

import pandas as pd
data = pd.read_excel(strfile, encoding='latin-1',low_memory=False)

在所有情况下都出现了以下错误:

UnicodeDecodeError: 'utf-16-le' codec can't decode bytes in position 146-147: unexpected end of data

非常感谢您提前的任何帮助或提示。

0
0 Comments

有时候使用pandas的read_excel()函数读取Excel文件时会出现问题,无法正确读取文件内容。这个问题的出现可能是由于文件格式的兼容性所导致的。

解决这个问题的方法是将旧版的.xls格式文件保存为新版的.xlsx格式文件,然后再使用pd.read_excel()函数读取新的文件。这样可以避免由于旧版文件格式不兼容而导致的读取问题。

具体的解决方法如下所示:

# 将旧版的.xls文件保存为新版的.xlsx文件
import pandas as pd
# 读取旧版的.xls文件
df = pd.read_excel('legacy.xls')
# 将数据保存为新版的.xlsx文件
df.to_excel('modern.xlsx', index=False)
# 使用pd.read_excel()读取新版的.xlsx文件
df_new = pd.read_excel('modern.xlsx')

通过将旧版的.xls文件保存为新版的.xlsx文件,然后再使用pd.read_excel()函数读取新的文件,我们可以成功读取文件内容,解决了读取Excel文件时出现的问题。

0