作为一名搞数据的,写SQL是每天必不可少的工作。而我又是一个喜欢偷懒的人,就想着能不能使用Python快速生成SQL语句呢?
假如现在想建一个临时表自己练习,我使用create table建表后,还需要使用多条INSERT INTO语句向表中插入数据,具体语法如下图所示。
写入一行数据还好,但是如果N多行,手动就略微麻烦了。
我之前要么在编辑器Sublime Text3里多行操作,要么在Excel文件中使用函数生成SQL插入语句。
如果想进一步偷懒,可以怎么做呢?
我希望能够使用Python一键将csv文件中的数据转成SQL语句,并输出到剪贴板上,这样我们直接粘贴到SQL编辑器上就可以直接运行了!
所要用到的表格数据(data_1.csv)如下所示:
我们可以这样做,Pandas模块读取csv文件的数据后,使用for循环依次读取每一行的数据。并通过f-string格式化字符串,一键生成我们所需的SQL语句。
import pandas as pd
df = pd.read_csv("data_1.csv")
tables = "mysql.newtable"
text = ""
for index, row in df.iterrows():
text = f"{text}INSERT INTO {tables} VALUES('{row[0]}','{row[1]}','{row[2]}','{row[3]}','{row[4]}');\n"
text
在字符串中我们增加了"\n"用来换行,运行结果如下所示。
那么如何将输出的结果写入剪贴板呢?
import pyperclip
pyperclip.copy(text)
这个pyperclip模块贼简单,就两个函数:
- copy()用于向剪贴板发送文本;
- paste()用于从剪贴板接收文本。
如果我们将两段代码一起运行,就会在鼠标的剪切板上出现SQL语句,具体效果如下所示。
▲运行动图GIF
这样我只需运行该Python代码,再粘贴到SQL编辑器中。
执行一下,成功插入数据。
其实这种方法还可以应用在很多类似的场景,例如UPDATE语句、DELETE语句等等,思路都是一致的。
好啦,偷懒小技巧加一~
最后
作为一个IT的过来人,我自己整理了一些python学习资料,希望对你们有帮助。
有问题可以扫描下面二维码——>添加csdn官方认证二维码探讨
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、精品Python学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、Python练习题
检查学习结果。
七、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
最后,千万别辜负自己当时开始的一腔热血,一起变强大变优秀。