我有一个如下的脚本
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" & bear true
12 Tuesday why did 'the frog' cross false
当我打印数据长度时,由于info列中的引号/特殊字符,因此不考虑is_true列。有没有一种方法可以让我从表中选择*,而忽略任何可能导致列处理提前结束的报价?
答案 0 :(得分:2)
如果您使用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)