好的,所以我有一串数据
data= "DTG: 20191005/0925Z VAAC: LONDON VOLCANO: ASKJA"
所以我想把它做成字典
{DTG:'20191005/0925Z',VAAC:'LONDON',VOLCANO:'ASKJA'}
我使用了split
函数将它们拆分并列出了列表,但我似乎无法做到
print(data.split(":"))
我必须将其列为以下列表:
{DTG:'20191005/0925Z',VAAC:'LONDON',VOLCANO:'ASKJA'}
有人可以帮忙吗?
好的,如果您能执行上述操作,那么文件中的数据如何 https://www.sendspace.com/file/zg0kmh
答案 0 :(得分:1)
首先,{DTG:'20191005/0925Z',VAAC:'LONDON',VOLCANO:'ASKJA'}
被称为字典而不是列表。
现在要创建该字典,您就想在空白而不是
:
上拆分字符串,然后可以zip一起替换元素以构成键和值,然后将该邮政编码转换为字典
请注意,以下解决方案假定每个单词都是键或值。如果您有一个值或一个类似hello world
的键,则此逻辑将不起作用,那么也许另一个用于拆分字符串的逻辑(另一个字符代替空格,或正则表达式拆分)会更有益
data= "DTG: 20191005/0925Z VAAC: LONDON VOLCANO: ASKJA"
#Split string on whitespace
arr = data.split()
#Zip alternate elements together
arr_zip = zip(arr[::2], arr[1::2])
#Convert dict to zip and print it
dct = dict(arr_zip)
print(dct)
输出将为{'DTG:': '20191005/0925Z', 'VAAC:': 'LONDON', 'VOLCANO:': 'ASKJA'}
答案 1 :(得分:0)
假设您的数据正是这种格式,则可以使用以下代码:
data = "DTG: 20191005/0925Z VAAC: LONDON VOLCANO: ASKJA"
parts = data.split()
output = {
'DTG': parts[1],
'VAAC': parts[3],
'VOLCANO': parts[5],
}
但是,如果您的数据中有空格(例如“ NEW YORK”),这不会很好地考虑空格。
答案 2 :(得分:0)
使用s=df.pivot(*df.columns)
l=list(itertools.permutations(list(range(s.shape[1]))))
l1=list(itertools.permutations(list(range(len(s))),3))
list_of_df=[pd.DataFrame({'A':s.index[list(y)],
'C':s.columns.values[list(x)],
'distance':s.iloc[list(y),:].values[np.arange(len(y)),x]}) for x in l for y in l1 ]
:
dict.update
输出:
data = "DTG: 20191005/0925Z VAAC: LONDON VOLCANO: ASKJA"
d = dict()
d.update(s.split(':') for s in data.replace(': ', ':').split())
答案 3 :(得分:0)
data= "DTG: 20191005/0925Z VAAC: LONDON VOLCANO: ASKJA"
data = data.split()
dic = {}
for d in data:
if ":" in d:
key = d.replace(":","")
else:
dic[key] = d
print(dic)
输出:
{'DTG': '20191005/0925Z', 'VAAC': 'LONDON', 'VOLCANO': 'ASKJA'}