数据分析之巧用Split
本文记录的是关于一条数据,
如何快速处理成我们想要的格式,有没有更加方便快捷的方式呢?
小编列举了三种方案。
欢迎评论留言,一起探索更多骚操作!
数据格式如下:
元数据格式:
1563647600370-32630967-d634-4eea-b62f-8fdb050f9ffb
处理之后的数据格式:
1563647600370 32630967-d634-4eea-b62f-8fdb050f9ffb
01
Shell
shell 思路
查看文件,
使用 AWK -F 进行分割截取
再 print 输出$1 以及用'-' 将其余位数拼接起来。
缺点:
再有效的数据集可用,数据特别多的时候,需要遍历。同时速度上不见得会快。查看:
cat 111.txt
分割拼接(shell 有个好处就是可以无限 | ):
cat 111.txt | awk -F '-' '{print $1, $2"-"$3"-"$4"-"$5"-"$6}'
效果如下:
02
Python
利用re库的一个方法,将第一个字符串替换。
再进行split 即可!
# python 代码
import re
test = '1563647600370-32630967-d634-4eea-b62f-8fdb050f9ffb'
data = re.sub('-','&&', test, 1)
new_data = data.split('&&')
new_data
效果如下:
03
Sql
sql的思路呢,就是需要先进行split,然后用length 加上 substr来控制首段的位数,来进行截取输出。
Sql语句:
select split(id,'-')[0],substr(id,length(split(id,'-')[0])+2) from A2data.test;
效果如下: