本文转自公家号: 凹凸数据
做为一名搞数据的,写SQL是每天必不成少的工做。而我又是一个喜好偷懒的人,就想着能不克不及利用Python快速生成SQL语句呢?
假设如今想建一个临时表本身操练,我利用 create table 建表后,还需要利用多条 INSERT INTO 语句向表中插入数据,详细语法如下图所示。
写入一行数据还好,但是若是N多行,手动就略微费事了。
我之前要么在编纂器Sublime Text3里多行操做,要么在Excel文件中利用函数生成SQL插入语句。
展开全文
▲Sublime Text3
若是想进一步偷懒,能够怎么做呢?
我希望可以利用Python一键将csv文件中的数据转成SQL语句,并输出到剪贴板上,如许我们间接粘贴到SQL编纂器上就能够间接运行了!
所要用到的表格数据(data_1.csv)如下所示:
我们能够如许做,Pandas模块读取csv文件的数据后,利用for轮回依次读取每一行的数据。并通过f-string格局化字符串,一键生成我们所需的SQL语句。
importpandas aspd
df = pd.read_csv( "data_1.csv")
tables = "mysql.newtable"
text = ""
forindex, row indf.iterrows:
text = f" {text}INSERT INTO {tables}VALUES(' {row[ 0]} ',' {row[ 1]} ',' {row[ 2]} ',' {row[ 3]} ',' {row[ 4]} ');\n"
text
在字符串中我们增加了 "\n" 用来换行,运行成果如下所示。
那么若何将输出的成果写入剪贴板呢?
importpyperclip
pyperclip.copy(text)
那个pyperclip模块贼简单,就两个函数:
copy 用于向剪贴板发送文本;
paste 用于从剪贴板领受文本。
copy 用于向剪贴板发送文本;
paste 用于从剪贴板领受文本。
若是我们将两段代码一路运行,就会在鼠标的剪切板上呈现SQL语句,详细效果如下所示。
▲运动作图GIF
如许我只需运行该Python代码,再粘贴到SQL编纂器中。
施行一下,胜利插入数据。
其实那种办法还能够应用在良多类似的场景,例如 UPDATE 语句、 DELETE 语句等等,构想都是一致的。
点那里👇存眷我,记得标星哦~
CDA课程征询