如何解决编码?通过pyodbc / Python3从SQL Server提取二进制数据图像类型列的问题
我需要访问存储在SQL Server 2008数据库中的光谱数据(x,y数组)。
前一段时间-在您的帮助下-我能够将数据转换成我知道如何使用的格式。
Python 3 - decode spectroscopy data (Base64,IEEE754)
此刻,我使用SQLCMD
工具通过以下方式访问数据库:
p = Popen(["sqlcmd","-S",host,"-U",...],stdin=PIPE,stdout=PIPE,stderr=PIPE)
output = p.stdout.read()
这是我知道如何处理输出的唯一方法:
0xA79DFD6F14DCC23F242D1E1DFF50C43FAE9C624BD174...
现在,我不再可以使用SQLCMD
工具,而需要通过pyodbc获取数据。我也用熊猫。
我尝试以下方法,它适用于数据库中所有列,但重要的列。
我在这里迷路了-您能建议如何进行吗?输出如下:
[(b'\xa7\x9d\xfdo\x14\xdc\xc2?$-\x1e\x1d\xffP\xc4?\xae\x9cbK\xd1t\xc4?\x8a\xfc}a
和我使用的设置如下:
sql_conn = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
query1 = '''SELECT TOP 1 [DATA] FROM [ABC].[dbo].[DATABASE]'''
df_q1 = pd.read_sql(query1,sql_conn)
我弄乱了编码设置,但失败了。
编辑:
array.array('d',df_q1.Data[0])
给出了预期的数字。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。