为了账号安全,请及时绑定邮箱和手机立即绑定

如何打开文件、替换一些字符串并将更新保存到同一个文件?

如何打开文件、替换一些字符串并将更新保存到同一个文件?

慕桂英546537 2021-08-05 10:31:44
我试图遍历目录中的所有 CSV 文件,执行查找/替换,并将结果保存到同一个文件(同名)。看起来这应该很容易,但我似乎在这里遗漏了一些东西。这是我正在使用的代码。import globpath = 'C:\\Users\\ryans\\OneDrive\\Desktop\\downloads\\Products\\*.csv'for fname in glob.glob(path):    print(str(fname))    with open(str(fname), "w") as f:        newText = f.read().replace('|', ',').replace(' ', '')        f.write(newText)我遇到了下面的链接,并尝试了那里列出的概念,但到目前为止没有任何效果。
查看完整描述

2 回答

?
慕仙森

TA贡献1827条经验 获得超7个赞

您需要使用'r+'而不是打开文件'w'。见下文:


import glob

path = 'C:\\Users\\ryans\\OneDrive\\Desktop\\downloads\\Products\\*.csv'

for fname in glob.glob(path):

    print(str(fname))

    with open(str(fname), "r+") as f:

        newText = f.read().replace('|', ',').replace(' ', '')

        f.write(newText)


查看完整回答
反对 回复 2021-08-05
?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

这是最终的(工作)解决方案。


import glob

import fileinput

path = 'C:\\Users\\ryans\\OneDrive\\Desktop\\downloads\\Products\\*.csv'

for fname in glob.glob(path):

    #print(str(fname))

    with open(fname, 'r+') as f:

        text = f.read().replace(' ', '')

        f.seek(0)

        f.write(text)

        f.truncate()

感谢您的提示,agaidis !


查看完整回答
反对 回复 2021-08-05
  • 2 回答
  • 0 关注
  • 146 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信