如何修复读取 Excel 文件的编码错误
How to fix an encoding error reading an Excel file
我正在尝试为自己制作一个脚本,将 excel 文件上传到 postgre 数据库。源文件必须是 xlsx(不能是 csv)。我的脚本可以处理大多数文件,但有一个......有一列文本(长句)。特别是对于这个文件,我收到了这个错误:
26 """
27
---> 28 cursor.copy_expert(sql=sql_statement % tbl_name, file=my_file)
29 print('file copied to db')
30
QueryCanceled: COPY from stdin failed: error in .read() call: UnicodeDecodeError 'charmap' codec can't decode byte 0x81 in position 6918: character maps to <undefined>
CONTEXT: COPY clean_file, line 1
根据我的搜索,这个错误通常是由于编码引起的,因此我确实尝试了一堆编码类型,如 utf-8、latin1、cp850、cp1252 .. 但 none 有效。
而不是我一直试图找到正确的编码,我认为实际识别“麻烦”字符并在 excel 文件中替换它(替换)会更容易......
我怎样才能找到这个角色?
“……在 6918 号位置……”太含糊了。我有办法找到它吗?
我选择的上传库是 psycopg2(我必须 ul 到 postgre 数据库)。该脚本在没有相关列的情况下工作正常......所以很明显其中一个单元格内的某些东西导致了这个问题
我最近在尝试读取 .xlsx
文件时遇到了这个问题
我的解决方案:
pip install openpyxl
然后读取文件如下:
df = pd.read_excel(file_path, index_col=None, engine='openpyxl')
我很乐意提供帮助。
通过在 open 语句中添加 encoding='utf8' 以及 pd.read_excel 语句来修复错误
df[文件] = pd.read_excel(data_path + 文件, encoding="ISO-8859-1")
my_file = 打开(文件,编码='utf8')
我正在尝试为自己制作一个脚本,将 excel 文件上传到 postgre 数据库。源文件必须是 xlsx(不能是 csv)。我的脚本可以处理大多数文件,但有一个......有一列文本(长句)。特别是对于这个文件,我收到了这个错误:
26 """
27
---> 28 cursor.copy_expert(sql=sql_statement % tbl_name, file=my_file)
29 print('file copied to db')
30
QueryCanceled: COPY from stdin failed: error in .read() call: UnicodeDecodeError 'charmap' codec can't decode byte 0x81 in position 6918: character maps to <undefined>
CONTEXT: COPY clean_file, line 1
根据我的搜索,这个错误通常是由于编码引起的,因此我确实尝试了一堆编码类型,如 utf-8、latin1、cp850、cp1252 .. 但 none 有效。 而不是我一直试图找到正确的编码,我认为实际识别“麻烦”字符并在 excel 文件中替换它(替换)会更容易...... 我怎样才能找到这个角色? “……在 6918 号位置……”太含糊了。我有办法找到它吗? 我选择的上传库是 psycopg2(我必须 ul 到 postgre 数据库)。该脚本在没有相关列的情况下工作正常......所以很明显其中一个单元格内的某些东西导致了这个问题
我最近在尝试读取 .xlsx
文件时遇到了这个问题
我的解决方案:
pip install openpyxl
然后读取文件如下:
df = pd.read_excel(file_path, index_col=None, engine='openpyxl')
我很乐意提供帮助。
通过在 open 语句中添加 encoding='utf8' 以及 pd.read_excel 语句来修复错误 df[文件] = pd.read_excel(data_path + 文件, encoding="ISO-8859-1") my_file = 打开(文件,编码='utf8')