Ошибка «объект NoneType не повторяется» при попытке прочитать SQL-запрос с помощью панд - PullRequest
0 голосов
/ 24 сентября 2018

Я наткнулся на следующий пост, который является моей точной ситуацией.У меня большой запрос SQL, который имеет следующий формат:

SET NOCOUNT ON

CREATE TABLE x
INSERT INTO x

CREATE TABLE y
INSERT INTO y
.
.
.

SELECT * FROM x join y
where a

UNION

SELECT * FROM x join y
where b

Запрос работает отлично, возвращая более 15 тыс. Строк, как и предполагалось.Когда я пытаюсь прочитать это в dataframe в python, я получаю объект 'NoneType' - не повторяемая ошибка, как описано в ссылке ниже.Я вижу, как оригинальный постер преобразовал свой запрос в хранимую процедуру.Мне интересно, есть ли другой способ устранить эту ошибку, без написания хранимой процедуры.

Python Pandas read_sql_query «Объект NoneType не повторяется» ошибка

ОБНОВЛЕНИЕ - вставка кода Python

server = 'server'
query = 'test.sql'
db  ='db'       
conn = pyodbc.connect(r'Driver={SQL Server};Server=' + dbserver + ';Database=' + database + ';Trusted_Connection=yes;')
fd = open(query, 'r')
df = pd.read_sql_query(fd.read(),conn)
fd.close()
conn.close()

1 Ответ

0 голосов
/ 24 сентября 2018

Это может быть проблемой, так как это было однажды проблема с моим запросом.При отправке запроса убедитесь, что точка с запятой не пропущены.В редакторе нажатие клавиши enter работает просто отлично, но когда вы отправляете его в виде строки или из ваших файлов, вам необходимо явно добавить его в конце каждого оператора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...