有3个txt文件,现在利用python正则表达式,分别提取出文件中的以下数据:每个月全国发行新增债券的数据,每个月全国发行再融资债券数据
时间: 2024-02-13 08:05:39 浏览: 23
假设三个txt文件分别为file1.txt、file2.txt和file3.txt。文件内容格式为每行记录一个月份的数据,每行记录的数据格式为“日期, 全国发行新增债券, 全国发行再融资债券”。
下面是利用Python正则表达式分别提取出文件中的数据的示例代码:
```python
import re
# 提取file1.txt中每个月全国发行新增债券的数据
with open('file1.txt', 'r') as f:
file_content = f.read()
pattern = r'\d{4}-\d{2}-\d{2}, (\d+.\d+)亿元, \d+.\d+亿元'
bond_data = re.findall(pattern, file_content)
print(bond_data)
# 提取file2.txt中每个月全国发行再融资债券的数据
with open('file2.txt', 'r') as f:
file_content = f.read()
pattern = r'\d{4}-\d{2}-\d{2}, \d+.\d+亿元, (\d+.\d+)亿元'
bond_data = re.findall(pattern, file_content)
print(bond_data)
# 提取file3.txt中每个月全国发行新增债券和再融资债券的数据
with open('file3.txt', 'r') as f:
file_content = f.read()
pattern = r'\d{4}-\d{2}-\d{2}, (\d+.\d+)亿元, (\d+.\d+)亿元'
bond_data = re.findall(pattern, file_content)
print(bond_data)
```
其中,`pattern`变量是用来定义正则表达式的。`\d`表示数字,`{n}`表示匹配n个数字,`.`表示匹配任意字符,`+`表示匹配前面的字符至少一次,`()`表示分组匹配。`re.findall()`函数用于在字符串中查找所有匹配正则表达式的子串,并返回一个包含所有匹配子串的列表。