Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python “非类型”对象在熊猫中不是不可编辑的错误_Python_Sql Server_Pandas - Fatal编程技术网

Python “非类型”对象在熊猫中不是不可编辑的错误

Python “非类型”对象在熊猫中不是不可编辑的错误,python,sql-server,pandas,Python,Sql Server,Pandas,我正在尝试使用python从sql server上存储的进程中提取一些数据 这是我的密码: import datetime as dt import pyodbc import pandas as pd conn = pyodbc.connect('Trusted_Connection=yes', driver = '{SQL Server Native client 11.0}',server = '*****, database = '**') pd.read_sql("EXEC ***

我正在尝试使用python从sql server上存储的进程中提取一些数据

这是我的密码:

import datetime as dt
import pyodbc
import pandas as pd

conn = pyodbc.connect('Trusted_Connection=yes', driver = '{SQL Server Native client 11.0}',server = '*****, database = '**')

pd.read_sql("EXEC ******** '20140528'",conn)
我得到一个错误:TypeError:“NoneType”对象是不可编辑的

我怀疑这是因为我在sql表中有一个值为NULL的单元格,但不确定这是否是我得到错误的真正原因。我使用相同的代码运行了许多sql语句,没有任何错误

以下是回溯:

In[39]: pd.read_sql("EXEC [dbo].[] '20140528'",conn)
Traceback (most recent call last):
  File "C:*", line 3032, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-39-68fb1c956dd7>", line 1, in <module>
    pd.read_sql("EXEC [dbo].[] '20140528'",conn)
  File "C:*", line 467, in read_sql
    chunksize=chunksize
  File "c:***", line 1404, in read_query
    columns = [col_desc[0] for col_desc in cursor.description]
TypeError: 'NoneType' object is not iterable
[39]中的
:pd.read_sql(“EXEC[dbo].]'20140528',康涅狄格州)
回溯(最近一次呼叫最后一次):
运行代码中的文件“C:*”,第3032行
exec(代码对象、self.user\u全局、self.user\n)
文件“”,第1行,在
pd.read_sql(“EXEC[dbo].[]”20140528',康涅狄格州)
文件“C:*”,第467行,以read_sql格式
chunksize=chunksize
读取查询中的文件“c:**”,第1404行
columns=[col_desc[0]表示游标中的col_desc.description]
TypeError:“非类型”对象不可编辑
您的存储过程需要

SET NOCOUNT ON;
如果没有这个
sql
将返回调用的
行数
,返回时将没有列名,从而导致
NoneType
错误。

pd.read\u sql()
希望返回输出,并尝试迭代输出;这就是
TypeError
的来源。而是使用游标对象执行:


您将不会收到任何输出,但由于不需要任何输出,因此您的代码应该运行时不会出错。

您可以发布完整的错误代码吗?您确定您的查询有效吗?这段代码与其他有效的代码有什么不同?我可以看到字符串的许多不匹配的结束引号,“”?能否显示直接执行conn.execute(“EXEC..”)然后执行fetchall()的输出?您确定它返回了什么吗?程序包能够处理sql NULL,很可能是您的查询中有错误。如果您使用的是microsoft sql server,请查看mssql程序包,该程序包在不设置odbc连接的情况下工作:)我在查询中使用临时表时也遇到了此问题。此方法也将修复。是的,这对我有效。我idn不需要将其用于pymssql,但需要用于pyodbc。
import datetime as dt
import pyodbc
import pandas as pd

conn = pyodbc.connect('Trusted_Connection=yes; driver =SQL Server Native client 
11.0; server = *****, database = **')
sqlSend = conn.cursor()
sqlSend.execute(f"EXEC ******** '20140528'")
conn.commint()
import datetime as dt
import pyodbc
import pandas as pd

conn = pyodbc.connect('Trusted_Connection=yes; driver =SQL Server Native client 
11.0; server = *****, database = **')
sqlSend = conn.cursor()
sqlSend.execute(f"EXEC ******** '20140528'")
conn.commint()