我想从计算机中的查询脚本中读取表格。
我发现命令很简单:
with open(sql_file, 'r') as opened:
query = alq.text(opened.read())
第一个问题与编码有关:
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81
in position 7963: character maps to <undefined>
因此,我们执行操作,搜索答案以将参数添加到命令open(sql_file, encoding='utf8')
中并执行查询。
engine.execute(query)
现在错误更加棘手:
ProgrammingError: (pyodbc.ProgrammingError) ('42000', "[42000]
[Microsoft][ODBC Driver 11 for SQL Server][SQL Server]
Incorrect syntax near '\ufeff'. (102) (SQLExecDirectW)")
[SQL: "\ufeffWITH\n-- Some comment about the query\nQC_SCORE AS
(\n SELECT some_table.id\n , other_table.column\n
那是不能正确读取文件。经过检查,我发现文件的开头有\ufeff
,并且没有翻译换行符\n
。
有人知道该怎么做吗?
答案 0 :(得分:0)
在尝试解析具有特殊unicode字符的XML文件时,我遇到了类似的问题。我发现可行的解决方法是将文件读取为字符串,然后使用string.replace()方法。这句话:
text_query = r“ \ ufeff +”实际的SQL代码“ text_query = text_query.replace(r'\ ufeff','').replace(r'\ n','')