我试图遍历目录中的所有 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)
料青山看我应如是
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 !
添加回答
举报
0/150
提交
取消