python问题

m
mysunnyday
楼主 (北美华人网)
向版上大牛请教一个python问题,我想提取下图中revenue的数值,可是之前有两个note数字(4,5), 怎么样可以把4,5 去掉?

我用
line=re.sub("[\d[,\s]\d]", " ", line)
但是去不掉
Sales revenues 4, 5 23,461 22,930

谢谢!
v
vevehi
这是不同column吧?直接不用这个column就行了
m
mysunnyday
因为我要loop不同的表,每个表设计不一样,所以不能设定clumn
j
jianzhiqi1234
line.split()就行啊,按空格split,然后读你要的column就行了
c
computer101
手头没带工作的电脑不好试,不过我觉得是'\d,\s\d' ? 方括号是用来表示只要match方括号中任意一个字符都可以的意思啊
C
Cumberbitch
用空格分词就行了啊, 或者 tab 看你自己格式了
m
mysunnyday
手头没带工作的电脑不好试,不过我觉得是'\d,\s\d' ? 方括号是用来表示只要match方括号中任意一个字符都可以的意思啊
computer101 发表于 5/5/2020 5:59:08 PM


解决了,多谢多谢!看来我对regular expression还是理解不够
m
minqidev
这不是python的知识
这时正则表达式

如果逗号和最后一个数字之间有空格或者其他可
以trim的符号
\d,\s\d就可以用
但是如果中间没空格,你就要考虑 or的情况了。

\d,(?:\s|)+\d
o
oqo


解决了,多谢多谢!看来我对regular expression还是理解不够

mysunnyday 发表于 5/5/2020 6:03:08 PM

split就行,re是杀鸡用牛刀吃力不讨好
m
mysunnyday


split就行,re是杀鸡用牛刀吃力不讨好

oqo 发表于 5/5/2020 6:06:43 PM


因为我要loop不同的表,每个表设计不一样,所以不能设定clumn
c
computer101
这不是python的知识
这时正则表达式

如果逗号和最后一个数字之间有空格或者其他可
以trim的符号
\d,\s\d就可以用
但是如果中间没空格,你就要考虑 or的情况了。

\d,(?:\s|)+\d


minqidev 发表于 5/5/2020 6:06:36 PM

这个tool好用啊!收藏了收藏了!多谢MM
m
minqidev

这个tool好用啊!收藏了收藏了!多谢MM

computer101 发表于 5/5/2020 6:11:32 PM

这是工作时专门用来测试用的网站。 😄,我从没见过谁可以记住所有的正则表达式。 一般都会去测试确认。
f
fibril
回复 10楼mysunnyday的帖子 感觉你这个用regex有点危险啊。不同的表单,不同的schema,这样用简单的regex不怕丢数据?