gpt4 book ai didi

python - 如何使用具有正确字符编码的 python 读取 SQL 文件?

转载 作者:行者123 更新时间:2023-11-29 12:54:01 25 4
gpt4 key购买 nike

基于几个示例(herehere),我可以使用 psycopg2 读取并希望从 python 运行 SQL 文件(该文件有 200 行,虽然运行速度很快,但这不是我想要的维护在 python 文件中)。

这是读取和运行文件的脚本:

sql = open("sql/sm_bounds_current.sql", "r").read()

curDest.execute(sql)

但是,当我运行脚本时,会抛出以下错误:

Error: syntax error at or near "drop"
LINE 1: drop table dpsdata.sm_boundaries_current_dev;

如您所见,脚本中的第一行是删除一个表,但我不确定为什么要读取额外的字符,而且似乎找不到可以设置表编码的解决方案读取文件时。

最佳答案

找到 this post处理编码和字节顺序标记,这是我的问题所在。

解决方案是从 CODECS 导入 OPEN,这允许在 OPEN 上使用 ENCODING 选项:

import codecs
from codecs import open

sqlfile = "sql/sm_bounds_current.sql"
sql = open(sqlfile, mode='r', encoding='utf-8-sig').read()
curDest.execute(sql)

看起来效果不错!

关于python - 如何使用具有正确字符编码的 python 读取 SQL 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47705183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com