python中找到txt文件中的某个字符,并把这一行中这个字符之后的一个数据输入到csv文件中
时间: 2023-08-02 22:25:52 浏览: 85
你可以使用 Python 的内置库 csv 和 re 来实现这个功能,具体代码如下:
```python
import csv
import re
# 打开 txt 文件和 csv 文件
with open('input.txt', 'r') as input_file, open('output.csv', 'w', newline='') as output_file:
# 创建 CSV 写入器
writer = csv.writer(output_file)
# 逐行读取 txt 文件
for line in input_file:
# 使用正则表达式查找包含指定字符串的行
if re.search('指定字符串', line):
# 使用正则表达式提取指定字符串之后的一个数据
data = re.search('指定字符串\s+(\S+)', line).group(1)
# 将数据写入 CSV 文件
writer.writerow([data])
```
在上述代码中,`input.txt` 是要读取的文本文件,`output.csv` 是要写入的 CSV 文件。`csv.writer(output_file)` 创建了一个 CSV 写入器,可以使用它来写入 CSV 文件。`re.search('指定字符串', line)` 查找包含指定字符串的行,`re.search('指定字符串\s+(\S+)', line).group(1)` 提取指定字符串之后的一个数据。`writer.writerow` 将数据写入 CSV 文件。
需要注意的是,这个代码只能提取到每行中第一个符合正则表达式的数据,如果需要提取多个,可以使用 `re.findall` 来实现。如果要写入多个数据,只需将数据存储在列表中,并将整个列表传递给 `writer.writerow` 即可。
阅读全文