Python加载数据入库SqlServer报错问题总结(持续更新

本文分享了三个Python开发者遇到的问题,包括SQL语法错误、JSON类型转换和数据插入错误的解决方案。同时,作者提供了一份全面的Python学习资源,覆盖从基础到进阶,旨在帮助自学者提升技能并降低学习成本。
摘要由CSDN通过智能技术生成

问题4


报错内容

the JSON object must be str, bytes or bytearray, not NoneType

#翻译:JSON对象必须是str、bytes或bytearray,而不是NoneType

报错原因:JSON对象必须是str、bytes或bytearray,而不是NoneType

解决方法:现在是一个字典,只需要用’’'符号将它转换成字符串就可以了

问题5


我的代码

select TOP 100000 FROM [IPRCloud].[dbo].[TM_AP]

报错内容

pymssql._pymssql.OperationalError: (156, b"Incorrect syntax near the keyword ‘FROM’.DB-Lib error message 20018, severity 15:\nGeneral SQL Server error: Check messages from the SQL Server\n")

报错原因:‘From’ 附近的代码有问题

解决方法:不小心写掉了一个 * 号,一定要仔细!!!

select TOP 100000 * FROM [IPRCloud].[dbo].[TM_AP]

问题6


报错内容

pymssql._pymssql.OperationalError: (8152, b’String or binary data would be truncated.DB-Lib error message 20018, severity 16:\nGeneral SQL Server error: Check messages from the SQL Server\n’)

报错原因:引发此错误,则有一个或多个字段的长度不足以容纳要插入的数据,还包括TRIGGER中变量。

解决方法

  • 1.数据库中各字段长度设置;
  • 2.相应表单设置的触发器;
  • 3.打开即将插入的数据,查看异常长的数据以供参考

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)
img

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img
img

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!img

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

img

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。img

六、面试宝典

在这里插入图片描述

在这里插入图片描述

简历模板在这里插入图片描述

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

fbd.png#pic_center)

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-FtoLYlBZ-1712430814795)]

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用 Python 中的 pyodbc 模块来连接 SQL Server 数据库并执行更新操作。 首先读取 Excel 文件中的数据,可以使用 pandas 库的 read_excel() 函数读取 Excel 文件并将其存储在一个 DataFrame 中。然后,使用 pyodbc 模块的 connect() 函数连接 SQL Server 数据库,并使用 cursor() 函数创建一个光标对象。 接下来,可以使用光标对象的 execute() 函数执行 UPDATE 语句,从而更新数据库中的数据。这里是一个例子: ``` import pyodbc import pandas as pd # 连接 SQL Server 数据库 cnxn = pyodbc.connect('Driver={SQL Server};' 'Server=server_name;' 'Database=database_name;' 'Trusted_Connection=yes;') # 创建光标对象 cursor = cnxn.cursor() # 读取 Excel 文件中的数据 df = pd.read_excel('file.xlsx') # 遍历 DataFrame 中的每一行 for index, row in df.iterrows(): # 构造 UPDATE 语句 sql = f"UPDATE table_name SET column1 = '{row['column1']}', column2 = '{row['column2']}' WHERE id = {row['id']}" # 执行 UPDATE 语句 cursor.execute(sql) # 提交更改 cnxn.commit() # 关闭光标对象和连接 cursor.close() cnxn.close() ``` 希望这能帮到你! ### 回答2: 要实现Python批量更新Excel中的数据SQL Server,以下是具体的步骤: 1. 首先,需要安装Python的相关依赖包,包括pandas、pyodbc等。可以使用pip命令进行安装。 2. 确保已经安装好SQL Server,并且在SQL Server中创建好对应的数据表,以准备接收Excel数据。 3. 使用pandas库中的read_excel函数读取Excel文件的数据,并将其保存到一个DataFrame对象中。 4. 使用pyodbc库来连接到SQL Server数据库。 5. 使用pyodbc库中的execute函数执行SQL语句来创建一个游标对象。 6. 使用游标对象中的executemany函数来批量插入数据SQL Server的数据表,传入的参数为数据表名称和DataFrame对象的值。 7. 最后,使用commit函数将数据插入SQL Server中,并使用close函数关闭游标和数据库连接。 下面是一个示例代码: ```python import pandas as pd import pyodbc # 读取Excel文件到DataFrame df = pd.read_excel('data.xlsx') # 连接到SQL Server数据库 conn = pyodbc.connect('DRIVER={SQL Server};SERVER=服务器名称;DATABASE=数据库名称;UID=用户名;PWD=密码') # 创建游标对象 cursor = conn.cursor() # 批量更新数据SQL Server cursor.executemany("UPDATE 表名 SET 字段1=?, 字段2=? WHERE 条件", list(df.to_records(index=False))) # 提交更新数据 conn.commit() # 关闭游标和数据库连接 cursor.close() conn.close() ``` 需要根据实际情况修改代码中的服务器名称、数据库名称、用户名、密码、表名、字段等信息。 ### 回答3: 要使用Python批量更新Excel中的数据SQL Server,我们可以使用以下几个步骤: 1. 首先,我们需要安装所需的库,包括pandas和pyodbc。可以使用pip install pandas pyodbc命令来安装这些库。 2. 接下来,我们需要连接到SQL Server数据库。使用pyodbc库可以帮助我们建立与数据库的连接。我们需要提供数据库的连接字符串,包括服务器名、数据库名、用户名和密码等信息。例如: conn = pyodbc.connect('DRIVER={SQL Server Native Client 11.0};SERVER=服务器名;DATABASE=数据库名;UID=用户名;PWD=密码') 3. 然后,使用pandas库读取Excel文件中的数据,将其转换为DataFrame对象。可以使用pandas的read_excel函数来读取Excel文件,并将其保存到DataFrame中: df = pd.read_excel('文件名.xlsx') 4. 现在,我们可以使用pandas的to_sql函数将DataFrame中的数据批量插入SQL Server表中。我们需要指定目标表的名称以及连接到数据库的连接对象。例如: df.to_sql('表名', conn, if_exists='replace', index=False) 在这个例子中,if_exists参数用于指定如果表已经存在,是否进行替换。如果设置为'replace',则会先删除表中的所有数据,然后将DataFrame中的数据插入到表中。如果设置为'append',则会在现有表的末尾追加数据。 最后,我们需要关闭与SQL Server的连接。使用conn.close()来关闭连接。 通过以上步骤,我们就可以使用Python批量更新Excel中的数据SQL Server了。这样可以提高数据处理的效率,并且能够更方便地与数据库进行交互。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值