使用python读取clear_activity.csv,通过判断每一行竖线分割的第二个字段是否可以用正则表达式匹配到“activity",来进行分割,如果可以,就将该行第二个字段作为键值对的key,而将接下来几行不可以匹配到的,作为value,之后添加一个空行,写入到done.txt中,如果value为空,则连同对应的key都不写入
时间: 2023-05-13 14:07:44 浏览: 54
以下是使用Python读取clear_activity.csv并进行分割的代码:
```python
import re
with open('clear_activity.csv', 'r') as f:
lines = f.readlines()
output = []
key = None
value = []
for line in lines:
fields = line.strip().split('|')
if len(fields) >= 2 and re.match(r'.*activity.*', fields[1]):
if key is not None:
output.append(key + '\n' + '\n'.join(value) + '\n')
key = fields[1]
value = []
else:
value.append(line)
if key is not None and value:
output.append(key + '\n' + '\n'.join(value) + '\n')
with open('done.txt', 'w') as f:
f.writelines(output)
```
这段代码会读取clear_activity.csv文件中的每一行,通过正则表达式判断第二个字段是否包含"activity",如果是,则将该行第二个字段作为键值对的key,将接下来的几行作为value,并添加一个空行,最后将键值对写入到done.txt文件中。如果value为空,则不会写入对应的key。