如何使用python脚本或Shell在CSV文件的库伦中拆分或切片文本?

时间:2018-07-30 07:06:20

标签: python linux shell

  1. Row1_1368083_US_PBPR_STD
  2. Row215_1368083_US_PBPR_ENH
  3. Row216_60902413_US_PBPR_ENH
  4. Row227_37758281_US_PBPR_ENH

最终输出应仅是列中的 1368083 数字

3 个答案:

答案 0 :(得分:1)

使用str.split

s1 = "Row1_1368083_US_PBPR_STD"
s2 ="Row215_1368083_US_PBPR_ENH"

print(s1.split("_")[1])
print(s2.split("_")[1])

输出:

1368083
1368083

或正则表达式。

import re

s1 = "Row216_60902413_US_PBPR_ENH"
s2 ="Row227_37758281_US_PBPR_ENH"

print(re.findall(r"\d{6,}", s1)[0])
print(re.findall(r"\d{6,}", s2)[0])

答案 1 :(得分:-1)

使用sed提取两个'_'之间的数字部分,

sed 's/^.*_\([0-9]*\)_.*/\1/'

或使用awk提取由'_'分隔的第二个字段,

awk -F'_' '{print $2}'

答案 2 :(得分:-1)

awk -F_ '$2 ~/1368083/{print $2}' file
1368083
1368083