python - Python pandas to_sql 最多2100个参数
问题描述
直到几天前,我总是将数千个参数存储到我的数据库(SQL 服务器)中。我使用 spyder (Python 3.6)。我在几天前用 conda update 更新了所有软件包,现在我无法将我的数据帧导入我的数据库。
--- 我不想在 2100 参数 DF 中拆分解决方法 ---
我想了解发生了什么变化以及为什么以及如何恢复正常工作。
这是一个简单的代码:
import pyodbc
import sqlalchemy
import numpy as np
import pandas as pd
c = pyodbc.connect("Driver={SQL Server};Server=**;Trusted_Connection=no;Database=*;UID=*;PWD=*;")
cursor = c.cursor()
engine = sqlalchemy.create_engine('mssql+pyodbc://*:*/*?driver=SQL+Server')
df= pd.DataFrame(np.random.randn(5000))
df.to_sql('pr',engine,if_exists= 'append', index=False)
这是错误: ProgrammingError: (pyodbc.ProgrammingError) ('42000', '[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]传入的请求参数太多。服务器最多支持2100参数。减少参数数量并重新发送请求。(8003)(SQLExecDirectW)')
非常感谢
解决方案
pandas 0.23 中的此错误存在一个未解决的问题(截至 2018.06.01) 。
您可能希望降级到 0.22,这将按预期工作。
推荐阅读
- c - 如何使用 scanf_s 读取多个字符?
- azure-devops - Azure管道如何在脚本等待用户输入时检测管道何时停止
- matlab - 符号和数字输入的写入函数
- git - 为什么`git clone --depth=1
` 某些带有 HTTP 500 的存储库失败? - ios - 使用 use_frameworks!在一个反应式项目上
- typescript - Angular8:formControlName 必须与父 formGroup 指令一起使用
- python - Tkinter 冻结 Python 和 Windows 资源管理器
- tensorflow - 使用 Keras 后端进行 L2 标准化?
- react-native - React-Native Flatlist 忽略样式
- javascript - 没有从 React (CRA) 运行外部 javascript