70e7d1edd5c0fe7798ccf7e1961f08cc.png

背景:

同行写的《如何用Excel快速生成SQL语句,用过的人都说好》,目的就是在不使用导数工具的前提下,如何快速将数据导入到数据库。原理就是利用Excel的自动填充功能,快速生成批量SQL插入语句。这里再向新手介绍更高效通用的其他方法。

4dd2f8768ee5c4e9537314f767597ee3.png

目标:

灵活使用文本处理工具,如Excel、UE、Shell等

高效处理文本

读者对象:

只用过Excel自动填充,未用过文本拼接等函数的

只用过普通替换,没用过正则替换的

平时喜欢打开文件再操作,未使用shell脚本后台操作文件的

1 Excel操作

1.1 自动填充

efeb628881d50c9cc775d246aa33cb06.png

0dd7176788d9943308828822b3175d9e.png

1.2 文本拼接

上面用到就是Excel的文本拼接操作符&,功能就像Oracle的双竖线||、或其他语言的Concat函数。

除了&,Excel还有类似功能的函数CONCATENATE(A2,B2)、CONCAT(A2,B2)、TEXTJOIN (",", A2,B2),后两个函数要Excel2016版本后才有。

Excel的函数功能固然强大,但通用性不够。像上面的拼接符,如果要拼接几十列、几百列,则需要输入几十几百次的”&”。这事我们可以用UE强大的替换功能处理。

2 UE操作

打开UltraEdit,将Excel内容复制到UE

替换Ctrl+R,输入^t,替换为’,’

再替换Ctrl+R,输入^(.*)$,替换为insert into Person values('1'); ,选择右下角的正则表达式Perl。

无论数据有多少列多少行,一步到位,效果如下:

97c83d6972b0880d68964942469cfc49.png

921ce73ce2e7557e11249c706006d895.png

8ff9dab6ac0bfad1b4387f5fdf2f9baf.png

c30caa51c30336e52faa5c9f680a77c3.png

3 shell操作

将Excel内容复制到文本文件test.txt

输入sed -e 's/t/","/g' -e 's/^(.*)$/insert into Person values("1");/' test.txt

在Windows如何使用Shell可以参考:如何在Windows下运行linux shell脚本

一步到位,效果如下:

47cde10c1f7c92f0b7935d9a6223a300.png

总结:

Excel函数功能超乎想象,想灵活应用Excel,需要多了解函数。

学会更基础通用的功能,如正则表达式,则能对文本操作得心应手。

对文件除了打开后操作,最好还要学会一门脚本语言如VBA、shell、Python等,在不打开文件的情况下,也能操作文本内容。

cedc3046330a4fe46b47556e7edf57d0.png
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐