从excel的大单元格里快速提取内容

我公司的服务器信息会保存在一份高加密的excel里,由于历史遗留问题,里面的格式节选一部分出来是这样的:

注意看,ip地址不分内网外网是放在一个大的单元格里,中间是用空格隔开的,造成了这样的视觉效果。

现在公司需要把所有的服务器重新更换到新的zookeeper,那么使用ansible在批量处理的时候,就需要提取这些服务器的内网ip地址录入到hosts文件里,但是由于服务器实在太多不可能一个一个手动从excel的单元格挑选出“内网IP地址”复制粘贴,那么就需要进行一下批量挑选内网IP地址的操作。

首先我们先把整个IP的单元列里的"(公)""(内)"的字样去掉,然后把整列全部拷贝,粘贴到notepad里,看到它们变成了这样的样子:

在notepad里,双引号之间的内容会被认为同一行,所以这里我们需要使用“替换”功能把所有的双引号去掉,让它变成下面这样:

这样就可以把上面的内容复制到一个新的excel去,发现每一个内容对应了一行,即一个小单元格:

然后我们把第一行染成黄色,第二行染成绿色,当然颜色你可以选择自己的口味,然后使用excel的“格式刷”功能,一拉到底,让他们变成条纹状:

然后在excel里找到“筛选”功能,先选择住这一条纹块,然后选择“按颜色筛选“,由于我们需要内网IP,那么我们就留下绿色内容即可,如图:

得到效果如下:

这样就可以把整个内容拷贝进 ansible的hosts文件里,然后搭配ansible批处理这些内网IP,双管齐下,大大的提升了提取数据的效率。

如果遇到偶尔三行(即中间有空格行)的情况,那么就在notepad那一步的时候,把空格行干掉,不如下图的情况里,第五行和第八行是空格行,可能是当初记录人员复制的时候自带了空格:

如果空格很多的情况,那么就需要批处理一次性的把所有空格都干掉,干掉的方法,还是使用notepad的“替换功能”,选择“正则表达式”,然后把“\n[\s|]*\r”替换成空值就可以了。

时间: 2024-10-13 22:27:29

从excel的大单元格里快速提取内容的相关文章

Excel 2003 中如何用VBA 代码访问单元格里的值及操作单元格 - 唐诗宋词的专栏 - 博客频道 - CSDN.NET

在Excel 中编写VBA 代码,最常做的事可能就是操作表单中单元格里的数据. 我这里总结一下如何从VBA 代码中操作单元格的数据. 在VBA 代码中操作单元格需要用到Range 对象,Range 是Excel 库(即Excel.exe文件)提供的一个类,封装了对表单中单元格的所有操作.Range 对象可以是一个单元格,一行单元格,一列单元格,或者四方的连续的单元格范围,甚至是几个单元格范围组合在一起.至于一个具体的Range 对象到底代表什么,就看我们怎么构造它了.(注,Range 类不支持N

如何把Excel中的单元格等对象保存成图片

对于Excel中的很多对象,比如单元格(Cell),图形(shape),图表(chart)等等,有时需要将它们保存成一张图片.就像截图一样. 最近做一个Excel相关的项目,项目中遇到一个很变态的需求, 需要对Excel中的一些对象进行拍图,比如,对一个单元格设置一些颜色之后拍图,或者对一个图表,报表拍成图片.经过比较曲折的经历,终于还是完成了.拿出来分享一下. 要做Excel,首先当然是查看Excel的com对象模型.地址在这里: http://msdn.microsoft.com/en-us

[从产品角度学excel 04]-单元格的“衣服”

忘记发这里了..补发一下 这是<从产品角度学EXCEL>系列——单元格篇. 前言请看: 0 为什么要关注EXCEL的本质 1 excel是怎样运作的 2 EXCEL里的树形结构 3 单元格的秘密(文本/数字篇) 或者你可以去微信公众号@尾巴说数 获得连载目录. 本文仅由尾巴本人发布于特定网站.不接受任何无授权转载,如需转载,请先联系我,非常感谢. 抱歉之前因为有各种事情,一个多月没更新了,从今天开始恢复更新. 在前一章节里,我们通过对excel xml代码的阅读,发现在excel单元格里,文本

基于.NET的Excel开发:单元格区域的操作(读取、赋值、边框和格式)

引用 using Excel = Microsoft.Office.Interop.Excel; 定义 1 Excel.ApplicationClass app; 2 Excel.Workbooks books; 3 Excel.Workbook book; 4 Excel.Sheets sheets; 5 Excel.Worksheet sheet; 6 Excel.Range m_objRange; 7 object missing = System.Reflection.Missing.V

C#中怎么在EXCEL中的单元格中画斜线啊 ??

Code Snippet 做法: 1,先添加引用COM,找 Excel 2,using Excel = Microsoft.Office.Interop.Excel; 3, 代码 private Excel.Application m_objExcel = null;        private Excel.Workbooks m_objBooks = null;        private Excel._Workbook m_objBook = null;        private E

easyui datagrid 通过双击单元格或者行修改内容,分页传参问题

这个是通过双击单元格或者行修改内容,以下是具体写法,在这里遇到一个问题,之前一直用post,分页参数始终带不过去,改为get就可以了 function init(){ var name = document.getElementById("name").value; $('#dataGrid').datagrid({ url:"${basepath}/sys/group/grouplist", method: 'get', pagination:true, //是否

Excel 2013中单元格添加下拉列表的方法

使用Excel录入数据的时候我们通常使用下拉列表来限定输入的数据,这样录入数据就很少发生错误了.Excel 2013较以前的版本发生了很大的变化,那么在Excel 2013是如何添加下拉列表的呢? 下面Office办公助手的小编就以“性别”中下拉选择男女为例,讲解下Excel 2013中添加下拉列表的方法.更复杂的大家可以举一反三,方法是一样的. 1.首先要选中你要添加下拉列表的单元格. 2.在菜单栏上选择数据--数据验证--数据验证. 3.打开如图所示的对话框,切换到设置选项下. 4.将允许条

Excel催化剂开源第51波-Excel催化剂遍历单元格操作性能保障

在Excel催化剂推出的这一年多时间里,经常性听到一种声音,大概意思是真正会写代码的人,都不会看上Excel催化剂写出来的功能,自己造一个更舒服贴心,仿佛会一点VBA就可以天下无敌一般,也好像Excel催化剂出的所有的功能,在他们眼中都是幼儿园级别,过家家玩玩而已. 这里不对此看法置评,只用事实说话,看看会一点VBA的人,能否造出以下的超强性能保障的代码功能来. 遍历单元格性能问题 学过VBA的群体,都知道遍历单元格是一个很慢的过程,最好将其放进数组中再遍历. 为何会慢这个问题,可能就没有深入研

Excel VB 限制单元格下拉拖拽复制 级联清空单元格数据

打开Excel,ALT+F11调出VB窗口 ******************************************************** 当选择第二列单元格,对应的单元格列清空 ******************************************************** Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 2 Then Cells(Target.Row