gpt4 book ai didi

python - 仅在特定位置删除逗号

转载 作者:行者123 更新时间:2023-11-28 22:16:07 26 4
gpt4 key购买 nike

我有一个文件,它是用逗号分隔的,但数字也用逗号分隔。例如:

01-01-2010,a,""0.0"",c,d,""1,234,567.00"",1,2,3,4

数字以某种方式在双引号中,或者

01-01-2010,a,""3,123.00"",c,d,""1,234,567.00"",1,2,3,4

是否有一个简单的正则表达式,使用 Python 的 re.sub 只删除数字中的逗号?换句话说,我希望转换为

01-01-2010,a,0.0,c,d,1234567.00,1,2,3,4
01-01-2010,a,3123.00,c,d,1234567.00,1,2,3,4

然后最后使用.split()拆分成列

所以我尝试的一些想法是 re.sub('"+\d+,\d+"+', ?, s) 如果 s 是有问题的字符串但这似乎是一个不完整的解决方案。

最佳答案

你可以使用re.findall:

import re
s = '01-01-2010,a,""0.0"",c,d,""1,234,567.00"",1,2,3,4'
new_data = ','.join([i.replace(',', '') for i in re.findall('(?<="")[,\d\.]+(?="")|[\w\d\-]+', s)])

输出:

'01-01-2010,a,0.0,c,d,1234567.00,1,2,3,4'

关于python - 仅在特定位置删除逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52398043/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com