我试图遍历目录中的所有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)
我浏览了下面的链接,并尝试了其中列出的概念,但到目前为止没有任何效果。
答案 0 :(得分:2)
您需要使用'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)
答案 1 :(得分:1)
这是最终的(有效的)解决方案。
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()
再次感谢小费!