删除括号和逗号

时间:2015-06-26 06:43:03

标签: python regex python-2.7

我正在将数据从数据库导入到python数据框中。现在,我希望将数据用于进一步分析,但是,在使用之前我需要对数据进行一些清理。目前,所需列的格式为 ('2275.1', '1950.4')。我需要的输出应该是:2275.11950.4。 有人可以帮忙吗

5 个答案:

答案 0 :(得分:0)

import re
print re.findall(r"\b\d+(?:\.\d+)?\b",test_str)

你可以这样做。

print map(float,re.findall(r"\b\d+(?:\.\d+)?\b",x))

如果您想要float值。

答案 1 :(得分:0)

尝试ast.literal_eval,它将其参数计算为常量Python表达式:

import ast

data = ast.literal_eval("('2275.1', '1950.4')")
# data is now the Python tuple ('2275.1', '1950.4')

x, y = data
# x is '2275.1' and y is '1950.4'

答案 2 :(得分:0)

我假设你提供的字符串实际上是python的输出。因此它是一个元组,包含两个字符串,它们是数字。如果是,并且您想要替换',则必须将它们转换为数字格式,例如float

a = ('2275.1', '1950.4')
a = [float (aI) for aI in a] 
print a
[2275.1, 1950.4]

答案 3 :(得分:0)

这是一种方法:

import re
x = "'('2275.1', '1950.4')'"
y = re.findall(r'\d+\.\d', x)
for i in y:
  print i

输出:

2275.1
1950.4

答案 4 :(得分:0)

这是一种非正则表达式方法:

data = (('2275.1', '1950.4'))


result = data[0]# 0 means the value in the first row
result2 = data[1]# 1 means the next row after 0


print result
print result2

输出:

>>> 
2275.1
1950.4
>>> 
相关问题