从Python中的变量中删除字符

时间:2018-05-03 12:54:44

标签: python

我一直在使用天气网站打开天气图(https://openweathermap.org/)来获取Python项目的详细信息。

rain = w.get_rain() # Get rain volume {'3h': 0} 
wind = w.get_wind() # Get wind degree and speed {'deg': 59, 'speed': 2.660}
humidity = w.get_humidity() # Get humidity percentage 67

然后将变量插入到数据库中,该数据库不喜欢' {' '}'

我已经尝试删除' {' '}'从输出,看看这个网站的回复。条:

rain = rain.strip(['{','}'])

和替换:

rain = rain.replace('{', ' ')

但我得到的只是"属性错误:' dict'对象没有属性"。是否有另一个转义子句我可以用于变量来删除不需要的字符?

How to use string.replace() in python 3.x

How to remove certain characters from a variable? (Python)

3 个答案:

答案 0 :(得分:3)

返回python字典,您需要访问键和值,而不是删除{}。以下显示如何访问字典值。

print(rain.keys()) # returns a list of all dictionary keys
>>> ['3h']

print(rain['3h']) # returns the value associated with the '3h' key
>>> 0

答案 1 :(得分:0)

由于您的变量是dict,因此您需要为其创建合适的字符串表示形式。您可以使用自己的格式连接键和值,如下所示:

# a: 1, b: 2, c: 3
myString = ', '.join('{}: {}'.format(k, v) for k,v in myDict.items())

或修改str

返回的默认字符串表示形式
# 'a': '1', 'b': '2', 'c': '3'
myString = re.sub('[{}]', '', str(myDict));

答案 2 :(得分:0)

首先,您需要了解所获得的数据类型:

print (type(obj))

并且这不是字符串,您不能替换任何符号。

再来一个。如果您从网站获取信息就像json-object,那么您不需要替换任何东西,因为您可以使用密钥来解析信息,如果需要,可以写入数据库