使用python读取clear_activity.csv,通过判断每一行竖线分割的第二个字段是否可以用正则表达式匹配到“activity",来进行分割,如果可以,就将该行第二个字段作为键值对的key,而将接下来几行不可以匹配到的,作为value,之后添加一个空行,写入到done.txt中
时间: 2023-05-13 17:07:42 浏览: 104
可以使用以下代码实现:
```python
import re
with open('clear_activity.csv', 'r') as f:
lines = f.readlines()
output = []
for i in range(len(lines)):
fields = lines[i].strip().split('|')
if len(fields) < 2:
continue
if re.search(r'activity', fields[1]):
key = fields[1]
value = []
j = i + 1
while j < len(lines) and not re.search(r'activity', lines[j]):
value.append(lines[j].strip())
j += 1
output.append((key, value))
with open('done.txt', 'w') as f:
for key, value in output:
f.write(key + '\n')
f.write('\n'.join(value) + '\n')
f.write('\n')
```
这段代码会读取 `clear_activity.csv` 文件,逐行判断是否可以匹配到 `activity`,如果可以,就将该行第二个字段作为键值对的 key,而将接下来几行不可以匹配到的,作为 value,之后添加一个空行,写入到 `done.txt` 中。
阅读全文