import re filepath='C:/Users/12132/Desktop/初赛数据集/2013-07.csv' content='Barclay St & Church St' replacecontent='1' def repfilecont(filepath,content,replacecontent): f=open(filepath,'r') alllines=f.readlines() f.close() f=open(filepath,'w+') for eachline in alllines: content=re.sub(content,replacecontent,eachline) f.writelines(content) f.close()
时间: 2024-01-09 11:03:52 浏览: 59
你的代码几乎正确,只是缺少了一个导入语句 `import re` 来使用 `re.sub` 函数进行字符串替换。此外,你可以将文件的打开和关闭操作放在 `with` 语句中,这样可以确保文件的正确关闭。下面是修改后的代码:
```python
import re
filepath = 'C:/Users/12132/Desktop/初赛数据集/2013-07.csv'
content = 'Barclay St & Church St'
replacecontent = '1'
def repfilecont(filepath, content, replacecontent):
with open(filepath, 'r') as f:
alllines = f.readlines()
with open(filepath, 'w') as f:
for eachline in alllines:
new_line = re.sub(content, replacecontent, eachline)
f.write(new_line)
repfilecont(filepath, content, replacecontent)
```
请确保将 `filepath` 设置为你要处理的文件路径,`content` 设置为要替换的旧字符串,`replacecontent` 设置为替换为的新字符串。运行代码后,它将读取文件的所有行,使用正则表达式 `re.sub` 函数将旧字符串替换为新字符串,并将修改后的内容写回原始文件中。
阅读全文