Python 任意字典生成 SQL(insert 语句)

数据洞察:Python 与 SQL 的强力结合 本文介绍了 Python 和 SQL 在数据处理和分析中的应用,从环境准备到数据库连接、数据结构设计、基本的数据操作、数据分析、数据可视化,以及一个综合实例的演示。同时,探讨了性能优化和错误处理的重要性。最后展望了 Python 和 SQL 在数据分析领域的未来发展,包括更高效的数据处理工具、更强大的数据可视化工具、自动化和机器学习的整合、云数据库和大数据技术的应用,以及更强的社区支持与开源发展。 阅读详情

1、示例

1.1、完整代码

tb = 'student'
dt = {'name': 'ArYe', 'age': 15, 'height': None}
ls = [(k, v) for k, v in dt.items() if v is not None]
sentence = 'INSERT %s (' % tb + ','.join([i[0] for i in ls]) +\
           ') VALUES (' + ','.join(repr(i[1]) for i in ls) + ');'
print(sentence)
打印结果
INSERT student (name,age) VALUES (‘ArYe’,15);

1.2、过程拆解

table_name = 'student'
dt = {'name': '小基', 'enrollment_date': '2004-09-01', 'age': 12, 'weight': None}
# 构造INSERT语句
ls = [(k, dt[k]) for k in dt if dt[k] is not None]
sql1 = 'INSERT %s (' % table_name
sql2 = ','.join(i[0] for i in ls)
sql3 = ') VALUES ('
sql4 = ','.join('%r' % i[1] for i in ls)
sql5 = ');'
print(sql1, sql2, sql3, sql4, sql5, sep='\n')
打印结果
INSERT student (
name,enrollment_date,age
) VALUES (
’小基’,‘2004-09-01’,12
);

2、知识补充

2.1、列表推导式

  • 语法:[ 表达式 for 元素 in 列表 if 条件 ]
  • 应用示例:矩阵转置
matrix = [[1, 2],
          [3, 4],
          [5, 6]]
inverse_matrix = [[matrix[r][c] for r in range(len(matrix))] for c in range(len(matrix[0]))]
print(inverse_matrix)
打印结果
[[1, 3, 5],
 [2, 4, 6]]

2.2、repr

表达式打印结果
print(repr(‘A’))‘A’
print(’%r’ % 9)9
print(’{!r}’.format([‘2’, 2]))[‘2’, 2]
  • repr和str区别
class A:
    def __init__(self, i):
        self.i = i
    def __str__(self):
        return repr(self.__dict__)

class B:
    def __init__(self, i):
        self.i = i
    def __repr__(self):
        return repr(self.__dict__)

print([A(i) for i in range(3)])
print([B(i) for i in range(3)])
打印结果
[对象, 对象, 对象]
[{‘i’: 0}, {‘i’: 1}, {‘i’: 2}]

3、备注

应用场景
爬虫数据写入数据库
优点:
通用性好,直接复制可用;简洁;
阅读扩展
字典写入数据库
生成update语句
Cisco Secure ACS 5.8.0.32 安装 + Crack 教程 在ESXi 6.7 上经历过无数次的安装尝试测试了各种兼容版本都没有安装成功,记最后一次安装成功的过程. 阅读详情

相关推荐

别再只盯着时序了!聊聊SDC里那些容易被忽略的‘配角’命令:工作条件、线载模型与面积约束

本文深入探讨了SDC(设计约束)中常被忽视的关键命令,包括set_operating_conditions、set_wire_load_model和set_max_area。这些‘配角’命令在芯片设计中扮演着至关重要的角色,影响时序收敛、功耗和面积优化。文章通过实际案例和最佳实践,揭示了如何正确配置工作条件、选择线载模型以及动态调整面积约束,以提升设计质量和效率。

weixin_26875109的博客 208

Python 数据库Insert语句脚本生成工具(SQL Server)

编写这个小工具,是因为平时部署项目的时候,需要导出一些公共的数据(权限、参数设置等),覆盖插入正式环境。 话不多说,直接上代码: import pyodbc import warnings import decimal import winreg import os import configparser import time import datetime warnings.filte...

分享是一种积极的生活态度~~ 2566

DIY音频必备:手把手教你用AB类功放模块打造高保真桌面音响(含电路图)

本文详细指导如何利用AB类功放模块DIY高保真桌面音响,涵盖选型指南、核心元器件清单、电路搭建与焊接工艺,以及系统调试与音质优化技巧。AB类功放以其接近A类功放的音质和B类功放的效率,成为音频爱好者的理想选择,适合有一定电子基础的实践者。

weixin_42665725的博客 445

Python sql插入的简便写法

# 插入操作 def insert_sql(conn,cursor,tablename, toinserts_values): keys = ", ".join(toinserts_values.keys()) qmark = ", ".join(["%s"] * len(toinserts_values)) sql_insert = "insert into %s (%s) values (%s)" % (tablename, keys, qmark) tr...

Peaunt_Python的博客 2449

(详细总结)python爬取 163收件箱邮件内容,收件箱列表的几种方法(urllib, requests, selenium)

需求:最近有一个需求,需要将163邮箱收件箱里面的所有邮件的内容全部copy下来,整理到一个word里面,不多也就28页的邮件(不要问我为什么有这需求,不告诉你),自己手动去ctrl+ cv 的话,估计要搞吐。然后就想能不能用python的爬虫来实现,虽然过程比较苦(后期改bug改的要吐了)。但是会后还是将需求实现了。这基本也算是入门了 urllib、requests、selenium这几个py...

man_tou_22 1万+

通过arcmap制作的第一张流域图

需要知道,识别河流依次需要填洼,流向,流量,栅格计算器,河流链接,河网分级.通过卫星图确定河流入口,在入口处画一个点,注意不要与其他河流相交。随后是进行对河流的筛选使用con函数,筛选流量大于100的河流。我们使用镶嵌工具-->镶嵌至新栅格 将两个数据合并。填洼后如图,随后进行流向的获得.使用流向工具。首先导入准备好的数据,可见两张图片并非一体。教程参考b站up:爱画地图的boney。惊醒栅格河网矢量化,进行河流分级。输入表面栅格数据,等待后如图。本次制作的是双峰县的流域图。输入流向数据,输出后如图。

pianmian1的博客 2231

python pymssql执行insert sql语句

我整理的一些关于【SQL】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://d.51cto.com/yOSbkR使用 Python 和 pymssql 执行 INSERT SQL 语句 在数据管理和处理的过程中,将数据插入到数据库中是一项常见的操作。Python 提供了多种方式与数据库交互,其中使用 ...

weixin_42366447的博客 507

YOLOv8自动驾驶系统 —— 夜间低光照条件 详细说明和完整代码

本文提出一种针对夜间低光照优化的自动驾驶车道保持系统方案,基于YOLOv8模型改进,包含三大核心技术:1.采用Retinex理论的多尺度低光增强算法,结合自适应伽马校正;2.改进YOLOv8的车道检测模型,通过夜间专用数据集训练,增加抗眩光处理;3.多传感器融合框架,整合可见光与红外图像。系统实现动态逆透视变换和参数调整,在Jetson Orin硬件上达到30ms级实时性能。测试显示在无照明、眩光干扰等极端场景下保持稳定,代码已开源。扩展方向包括V2X协同定位和自适应大灯联动控制。

u010117029的博客 598

python插入一条sql数据示例

【代码】python插入一条sql数据示例。

qq_41976826的博客 378

【Arduino+ESP32专题】CP2102串口自动下载电路

CP2102串口自动下载电路原理是什么?

一点硬件 2959

【网络与爬虫 62】小程序爬虫终极攻略:微信支付宝小程序数据采集完全指南

本文深入解析微信和支付宝小程序的爬虫技术,从基础架构分析到高级逆向工程,涵盖WXML/AXML模板解析、API接口拦截、网络流量分析等核心技术。通过实战案例和代码示例,帮助开发者掌握小程序数据采集的完整技术栈。

熵数实验室 3420

python字典insert_将Python字典用于SQL INSERT语句

I am trying to use a dict to do a SQL INSERT. The logic would basically be:INSERT INTO table (dict.keys()) VALUES dict.values()However, I am having a tough time figuring out the correct syntax / flow ...

weixin_39996478的博客 725

C#与天文观测:Celestia模拟星空的奇幻之旅

Celestia就像一艘穿梭在星海中的小飞船,带领我们遨游宇宙。C#则是这艘飞船的智能导航系统,用代码指挥它飞向任何我们向往的星球或星系。首先,下载并安装Celestia,熟悉其基本操作和功能。创建一个星空目标列表,包括不同的恒星、行星和星系。// 示例:定义观察目标列表new SpaceObject("太阳"),new SpaceObject("月球"),new SpaceObject("火星")

java专栏 1458

python自动生成SQL语句自动化

除了使用现有的库和工具外,我们还可以根据项目需求自定义SQL语句生成器,以满足特定的数据操作需求。通过自定义生成器,我们可以灵活地控制生成的SQL语句结构和内容,以适应不同的场景和要求。

一键难忘的博客 7565

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

python sql拼接_python 字典 拼接SQL语句

def gen_sql(table_name, data):""":param table_name: 表名称:param data: 字典对象 key为字段(要与数据库字段一样), value为插入值:return: 拼接好的sql语句"""fields = list()values = list()for k, v in data.items():if v: # 没有值, 就不插入field...

weixin_39578457的博客 2781

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

如何用Python快速生成SQL语句?

人生苦短,快学Python!大家好,今天分享一篇之前原创发在我另一个公众号的文章。作为一名搞数据的,写SQL是每天必不可少的工作。而我又是一个喜欢偷懒的人,就想着能不能使用Python快速生成SQL语句呢?假如现在想建一个临时表自己练习,我使用create table建表后,还需要使用多条INSERT INTO语句向表中插入数据,具体语法如下图所示。写入一行数据还好,但是如果N多行,手动就略微麻烦了。

伤心的辣条 2514

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

python字典insert,将Python字典用于SQL INSERT语句

I am trying to use a dict to do a SQL INSERT. The logic would basically be:INSERT INTO table (dict.keys()) VALUES dict.values()However, I am having a tough time figuring out the correct syntax / flow ...

weixin_31046701的博客 487

python sql语句生成_用python生成SQL语句

我知道这是一个老问题,但我经常想要OP想要的东西:一个用于生成基本SQL的非常简单的库。下面的函数就是这样做的。给它们一个表名和一个包含要使用的数据的字典,它们返回所需操作的SQL查询。键/值对表示数据库行中的字段名和值。def read(table, **kwargs):""" Generates SQL for a SELECT statement matching the kwargs pa...

weixin_39989222的博客 593

python批量执行sql语句_利用Python脚本批量生成SQL语句

通过Python脚本批量生成插入数据的SQL语句原始SQL语句:INSERT INTO system_user (id, login_name, name, password, salt, code, createtime, email, main_org, positions, status, used, url, invalid, millis, id_card, phone_no, past...

weixin_39571404的博客 1600

你知道-为什么使用Python生成SQL语句吗?

SQL是一种非常重要的语言。它用于在关系型数据库中执行各种操作,如查询、插入、更新和删除数据。为了提高效率就会利用Python编程语言来自动生成SQL语句,实现自动化的数据管理和处理。提高效率:通过编写Python代码来自动生成SQL语句,可以大大提高数据操作的效率。相比手动编写SQL语句,利用Python的编程能力可以更快速地生成复杂的SQL查询和操作。减少错误:手动编写SQL语句容易出现拼写错误、语法错误等问题,而利用Python来生成SQL语句可以减少这些人为错误,提高数据操作的准确性。灵活性。

xiaocai 1138

python字典insert_将INSERT TO sql与字典值一起使用

我使用的是python3.6mysql 8和mysql Python connector 8我试图插入下表| Recipes_id| title| Prep_time| servings | Summarize| Very_healthy| Cuisine| img| source_url|+-----------+------+----------+---------+----------+-...

weixin_32339855的博客 441

python 导出数据为insert 语句_Python把MySQL查询转为Insert语句

#!/usr/bin/env python# encoding: utf-8#import MySQLdbimport sysimport datetime# 中文输出;reload(sys)sys.setdefaultencoding('utf8')# 连接数据库;try:connS = MySQLdb.connect(host='10.10.0.1',port=3306,user='root'...

weixin_39748183的博客 1345

python根据字典生成万能SQL语句(INSERT)

def connect_mysql(item, table_name): ''' item: 传入的字典,key的值必须与数据库的字段对应 ''' conn = pymysql.connect(host='localhost', port=3306, database='news', user='root', password='password', charset='utf8') # 获得Cursor对象 cursor =

qq_43035475的博客 1705

使用Python构造hive insert语句

mysql可以使用nevicat导出insert语句用于数据构造,但是hive无法直接导出insert语句。我们可以先打印在hive命令行,然后使用脚本拼装成insert语句,进行数据构造。 手动copy到python脚本进行sql语句构造: def transformString(s): list_s = s.split('\t') print(len(list_s)) ...

a200822146085的博客 2721

python中字典转换成insert语句

数据库的字典转换成insert语句 ls = [(k, v) for k, v in dict_mailbox_info.items() if v is not None] keys = ','.join([i[0] for i in ls]) values = ','.join(repr(i[1]) for i in ls) sql = "insert into mailbox (" + keys + ") values (" + values + ")"

低调说 757

Python脚本批量生成SQL语句

通过Python脚本批量生成插入数据的SQL语句 原始SQL语句: INSERT INTO system_user (id, login_name, name, password, salt, code, createtime, email, main_org, positions, status, used, url, invalid, millis, id_card, phone_no, pa...

7DGroup,让技术更有价值! 5685
上一篇: Python【print】常用颜色(复制用)
下一篇: python3 爬虫 urllib
小基基o_O
博客等级 码龄9年 4414粉丝 467原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小基基o_O

您的鼓励是我创作的巨大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值