一、在openrefine中创建两个项目,分别导入英文、中文文档。项慎谨目名称分别为chinese csv 和 english csv
二、打开english csv 项目,选择english列,建新列,取名row。
三、打开chinese csv项目宽锋基,按照步骤二,新建row列
四、在english csv项目中,选择row列,新建列取名chinese
五、删除row列,选择english列-合并多列,分隔符使用 \n
六、删除其他行,完成目标,导出文本。
总结:本次教程的主要思路是建两个项目,在项目中分别把每一行的行号单独存储为一列,将行号列作为cross函数的键,将两个文本合并到一个项目中并且对应的双语文本位于同一行,最后使用列合并,将两列合并一列中解决了问题。
需要注意的是cross()函数和row.index的作用和用法。
我们在工作中经常能碰到表格存储在pdf文档里的情况,要编辑文档就需要将表格提取出来,通过tabula软羡冲樱件提取表格然后使用openrefine来将表格整理成原来的结构是很好的方法,小伙伴们学起来吧,再也不用为碰到pdf表格发愁啦。
1.在tabula中打开 2-China_Factsheet_compressed.pdf文件。
2.框兄丛选site information 中的表格
3.点击 preview and export extract data 按钮
4.导出.csv 文件
5.在openrefine中打开 tabula-2-China_Factsheet_compressed (2)文件
6.编码选择 utf-8,Parse next 3 line(s) as column headers 将前三行组合作为列名,并创建项目
7.分析 city列 如chongqing有两个观测站的数据,但chongqing字段在两个观测值中间,无法使用edit cells - fill down 命令。
判并 观察数据在维度列(longitude)每个城市的所有观察值的维度相同,产生想法,根据维度列 新建一个城市列 提取数值,然后根据数值应用facet-text facet 批量更改城市名称。
8.点击longitude列,选择edit column - add columns based on this column,输入正则表达式 value.match(/(\d+)o\d*’E/)[0],新建列名字是city_new。
9.点击edit column- move column to beginning 将city_new列移到最前面,删除原来的city列
10.选择 city_new列 facet - text facet 在左边选择blank 3
[图片上传失败...(image-f6e176-1605105762721)]\14.JPG)
11.选择 all列 edit rows - remove matching rows
12.选择 city_new列 facet - text facet 在左边点edit将longitude值批量修改为城市名称
13.选经度、维度列 editcells -transform 正则表达式处理value.replace("o",".").replace('’N','').toNumber()
value.replace("o",".").replace('’E','').toNumber()
14.选择Altitude列,edit cells - transform 正则 value.toNumber(),修改观察值类型。
\PDF table extract(tabula+openrefine)\25.JPG)
15.选择export - comma-seprated value 保持csv文件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)