首页 > 解决方案 > python正则表达式从字符串(文本)列表中获取日期和价格

问题描述

提前感谢您的帮助,我有一个字符串列表,例如

ID1|0|1|;2;2;2;5;12/11/2020;3;10.0000;5;06/11/2021;3;9.0000;|
ID2|0|1|;2;2;2;5;1/11/2020;3;11.0000;5;1/11/2021;3;12.0000; |
.
.

我正在遍历列表中的每个项目并使用 RegExp 创建一个数据框,如下所示

1D1   12/11/2020  10.0000
1D1   06/11/2021  9.0000
1D2   1/11/2020  11.0000
1D2   1/11/2021  12.0000

到目前为止,我已经能够获得 ID 和 Date 。但不确定要使用什么模式来计算价格并将它们转换回数据框

        date_reg_exp = re.compile(r'[0-9]{2}/[0-9]{2}/[0-9]{4}')
        price_reg_exp =re.compile(r'[-+]?\d*\.\d+|\d+')
        for data_row in self._data:
            bbg_id =(data_row.split('|')[0])
            date_list = [x.group() for x in date_reg_exp.finditer(data_row)]
            price_list =[x.group() for x in price_reg_exp.finditer(data_row)]

标签: pythonregex

解决方案


这可能会有所帮助

txt = "ID1|0|1|;2;2;2;5;12/11/2020;3;10.0000;5;06/11/2021;3;9.0000;|"

x = txt.split("|")
y = x[3].split(";")

print(x[0] + " " + y[5] + " " + y[7])

我得到以下信息:

ID1 12/11/2020 10.0000

推荐阅读