首页 > 解决方案 > 如何打开文件、替换一些字符串并将更新保存到同一个文件?

问题描述

我正在尝试遍历目录中的所有 CSV 文件,进行查找/替换,并将结果保存到同一个文件(同名)。看起来这应该很容易,但我似乎在这里遗漏了一些东西。这是我正在使用的代码。

import glob
path = '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)

我遇到了下面的链接,并尝试了那里列出的概念,但到目前为止没有任何效果。

如何打开一个文件进行读写?

标签: pythonpython-3.x

解决方案


您需要使用'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)

推荐阅读