加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在Python中如何仅从美元相关字段中删除美元符号和逗号

发布时间:2020-12-20 11:38:41 所属栏目:Python 来源:网络整理
导读:我正在阅读一个包含大量列的大型文本文件,与美元相关而不是,我正在试图找出如何剥离$和字符的美元字段. 所以说我有: a|b|c$1,000|hi,you|$45.43$300.03|$MS2|$55,000 其中a和c是美元字段而b不是. 输出需要是: a|b|c1000|hi,you|45.43300.03|$MS2|55000 我
我正在阅读一个包含大量列的大型文本文件,与美元相关而不是,我正在试图找出如何剥离$和字符的美元字段.

所以说我有:

a|b|c

$1,000|hi,you|$45.43

$300.03|$MS2|$55,000

其中a和c是美元字段而b不是.
输出需要是:

a|b|c

1000|hi,you|45.43

300.03|$MS2|55000

我认为正则表达式是可行的方法,但我无法弄清楚如何表达替换:

f=open('sample1_fixed.txt','wb')

for line in open('sample1.txt','rb'):
    new_line = re.sub(r'($d+([,.]d+)?k?)',????,line)
    f.write(new_line)

f.close()

有人有想法吗?

提前致谢.

解决方法

一个简单的方法:

>>> import re
>>> exp = '$d+(,|.)?d+'
>>> s = '$1,you|$45.43'
>>> '|'.join(i.translate(None,'$,') if re.match(exp,i) else i for i in s.split('|'))
'1000|hi,you|45.43'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读