我有一个看起来像这样的字符串:“'MAY21: 300 USD/t JUN21: 333 USD/t JUL21: 0 AUG21: 111 USD/t SEP21: 555 USD/t”
我希望从中获得:
[['MAY21', '300'],
['JUN21', '333'],
['JUL21', '0'],
['AUG21', '111'],
['SEP21', '555']]
我能想到的涉及几个 for 循环。我想知道处理这个字符串以获得我想要的输出的最佳方法。对我来说,这里的挑战是处理“JUL21:0”,它之后没有美元/吨。
答案 0 :(得分:2)
使用regex
import re
a = "MAY21: 300 USD/t JUN21: 333 USD/t JUL21: 0 AUG21: 111 USD/t SEP21: 555 USD/t"
out = re.findall("(\w+): (\d+)",a)
print(out)
[('MAY21', '300'),
('JUN21', '333'),
('JUL21', '0'),
('AUG21', '111'),
('SEP21', '555')]
答案 1 :(得分:1)
x="MAY21: 300 USD/t JUN21: 333 USD/t JUL21: 0 AUG21: 111 USD/t SEP21: 555 USD/t"
x=x.replace(" USD/t","").replace(": ",":")
x=x.split(" ")
for i in range(len(x)):
x[i]=x[i].split(":")