pyodbc sql 结果被切断

Posted

技术标签:

【中文标题】pyodbc sql 结果被切断【英文标题】:pyodbc sql results getting cut off 【发布时间】:2019-04-23 19:54:38 【问题描述】:

我有一个脚本如下

cursor = connection.cursor()
select_string = "SELECT * from mytable"
cursor.execute(select_string)
data = cursor.fetchall()
print(data)
print len(data)

数据如下

number      day                 info                       is_true
82          Monday              quick "lazy fox" &amp bear  true
12          Tuesday             why did 'the frog' cross    false

当我打印数据的长度时,由于 info 列中的引号/特殊字符,未考虑 is_true 列。有没有一种方法可以让我从表中选择 * 而忽略任何可能提前结束列处理的引用?

【问题讨论】:

【参考方案1】:

如果您使用 Pandas 从 SQL 连接读取表,则字符串格式应该不是问题。这应该有效:

import pandas as pd
import pyodbc
connection = pyodbc.connect('<SERVER>')
select_string = "SELECT * from mytable"

data = pd.read_sql(select_string , connection)
print(data)
print(data.shape)

【讨论】:

以上是关于pyodbc sql 结果被切断的主要内容,如果未能解决你的问题,请参考以下文章

Python pyodbc,如何返回sql控制台信息

pyodbc连接MSSQL执行SQL语句

Pyodbc - 使用 WHERE 子句运行 SQL 查询(语法错误)

没有名为 sql_server.pyodbc.base 的模块

MSSQL2008 - Pyodbc - 以前的 SQL 不是查询

循环遍历文本文件中的 SQL 查询并执行 - pyodbc