sql-server - 使用 Pandas 将 Pandas 数据帧附加到 Microsoft SQL 表时出现 UnicodeDecodeError
问题描述
我正在使用 python 2 使用 Pandas to_sql 函数将数据帧附加到 Microsoft SQL 表。有趣的是,当我在环境 A 中运行我的代码时,它将数据帧写入表 A,它可以成功写入。但是,当我在将数据帧写入表 B 的环境 B 中运行我的代码时,它将崩溃并显示以下错误消息。
两个环境都具有相同的 python 库和相同的版本。表 A 和 B 都具有相同的编码和架构。两种环境具有相同的设置。
我对这个错误感到困惑。你有什么建议为什么会发生这种情况?谢谢你。
编码
df.to_sql(name=tbl_name, con=con, if_exists='append', index=False)
错误信息
File "D:\Anaconda2\lib\site-packages\pandas\core\generic.py", line 1345, in to_sql
chunksize=chunksize, dtype=dtype)
File "D:\Anaconda2\lib\site-packages\pandas\io\sql.py", line 471, in to_sql
chunksize=chunksize, dtype=dtype)
File "D:\Anaconda2\lib\site-packages\pandas\io\sql.py", line 1151, in to_sql
table.insert(chunksize)
File "D:\Anaconda2\lib\site-packages\pandas\io\sql.py", line 666, in insert
self._execute_insert(conn, keys, chunk_iter)
File "D:\Anaconda2\lib\site-packages\pandas\io\sql.py", line 641, in _execute_insert
conn.execute(self.insert_statement(), data)
File "D:\Anaconda2\lib\site-packages\sqlalchemy\engine\base.py", line 945, in execute
return meth(self, multiparams, params)
File "D:\Anaconda2\lib\site-packages\sqlalchemy\sql\elements.py", line 263, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "D:\Anaconda2\lib\site-packages\sqlalchemy\engine\base.py", line 1053, in _execute_clauseelement
compiled_sql, distilled_params
File "D:\Anaconda2\lib\site-packages\sqlalchemy\engine\base.py", line 1189, in _execute_context
context)
File "D:\Anaconda2\lib\site-packages\sqlalchemy\engine\base.py", line 1405, in _handle_dbapi_exception
util.reraise(*exc_info)
File "D:\Anaconda2\lib\site-packages\sqlalchemy\engine\base.py", line 1159, in _execute_context
context)
File "D:\Anaconda2\lib\site-packages\sqlalchemy\engine\default.py", line 467, in do_executemany
cursor.executemany(statement, parameters)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 7: ordinal not in range(128)
解决方案
推荐阅读
- python - 如何修复数据集以返回所需的输出(pytorch)
- xcode - SwiftUI - 使 mac 无法使用
- javascript - 我如何打印逻辑中的最后一个字母
- apache-camel - 是否有任何活跃的 apache camel 社区,如 slack 或任何
- amazon-web-services - 在 terraform 对象中使用输出值
- python - 如何使子标签小于其父框架?
- vba - 防止 Treeview 在单击事件时折叠节点
- bash - 使用终端组织目录中的文件
- macos - Xcode beta 生成 App 无法打开,因为一个问题
- elasticsearch - Elasticsearch 是否为较新的 ES 版本禁用了 ML?