根据文本生成正则表达式_高效处理文本:Excel自动填充 vs UE正则替换
背景:同行写的《如何用Excel快速生成SQL语句,用过的人都说好》,目的就是在不使用导数工具的前提下,如何快速将数据导入到数据库。原理就是利用Excel的自动填充功能,快速生成批量SQL插入语句。这里再向新手介绍更高效通用的其他方法。目标:灵活使用文本处理工具,如Excel、UE、Shell等高效处理文本读者对象:只用过Excel自动填充,未用过文本拼接等函数的只用过普通替换,没用过正则替换的平
背景:
同行写的《如何用Excel快速生成SQL语句,用过的人都说好》,目的就是在不使用导数工具的前提下,如何快速将数据导入到数据库。原理就是利用Excel的自动填充功能,快速生成批量SQL插入语句。这里再向新手介绍更高效通用的其他方法。
目标:
灵活使用文本处理工具,如Excel、UE、Shell等
高效处理文本
读者对象:
只用过Excel自动填充,未用过文本拼接等函数的
只用过普通替换,没用过正则替换的
平时喜欢打开文件再操作,未使用shell脚本后台操作文件的
1 Excel操作
1.1 自动填充
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。
无论数据有多少列多少行,一步到位,效果如下:
3 shell操作
将Excel内容复制到文本文件test.txt
输入sed -e 's/t/","/g' -e 's/^(.*)$/insert into Person values("1");/' test.txt
在Windows如何使用Shell可以参考:如何在Windows下运行linux shell脚本
一步到位,效果如下:
总结:
Excel函数功能超乎想象,想灵活应用Excel,需要多了解函数。
学会更基础通用的功能,如正则表达式,则能对文本操作得心应手。
对文件除了打开后操作,最好还要学会一门脚本语言如VBA、shell、Python等,在不打开文件的情况下,也能操作文本内容。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)