你好,我有一个txt文本里面包含了公司名、人名、电话、职位、公司地址、公司网址这些信息,但是他们都在同一段中,我该如何使用python将它们分开并输出为txt格式
时间: 2023-07-04 16:07:14 浏览: 92
python txt处理-合并所有文件夹下指定名称的txt内容-txt文件内容合并输出-自动化
5星 · 资源好评率100%
你可以使用正则表达式来匹配这些信息,然后将它们分开并输出为txt格式。以下是一个示例代码:
```python
import re
# 读取原始文本文件
with open('input.txt', 'r') as f:
text = f.read()
# 匹配公司名、人名、电话、职位、公司地址、公司网址
company_name_regex = re.compile(r'公司名:(.+?)\n')
person_name_regex = re.compile(r'人名:(.+?)\n')
phone_regex = re.compile(r'电话:(.+?)\n')
position_regex = re.compile(r'职位:(.+?)\n')
address_regex = re.compile(r'公司地址:(.+?)\n')
website_regex = re.compile(r'公司网址:(.+?)\n')
# 提取匹配到的信息
company_name = company_name_regex.search(text).group(1)
person_name = person_name_regex.search(text).group(1)
phone = phone_regex.search(text).group(1)
position = position_regex.search(text).group(1)
address = address_regex.search(text).group(1)
website = website_regex.search(text).group(1)
# 输出为txt格式
output_text = f"公司名:{company_name}\n人名:{person_name}\n电话:{phone}\n职位:{position}\n公司地址:{address}\n公司网址:{website}\n"
with open('output.txt', 'w') as f:
f.write(output_text)
```
在这个示例代码中,我们首先使用`re`模块中的`compile`函数创建了6个正则表达式来匹配公司名、人名、电话、职位、公司地址、公司网址等信息。然后我们使用`search`方法来匹配字符串中的这些信息,并将它们分别存储到变量中。最后,我们将这些信息按照格式输出到一个新的txt文件中。
请注意,在使用正则表达式时,我们使用了`(.+?)`来匹配潜在的多个字符。`?`符号表示非贪心匹配,以避免在匹配过程中出现匹配错误的情况。
阅读全文