我是python的新手,我想使用excel中的列表替换文件或更具体的文件中的单词。所以,正在做我的研究并编写代码。 但我被困在一个地方。
首先是尝试替换同一个文件: -
for line in file:
i=0
for x in range(nrows):
file.write(line.replace(sheet1.cell(i,0).value,sheet1.cell(i,1).value))
#print(string)
i=i+1
file.close()
它正在替换,但也多次复制该行。
所以我研究并发现了用两个不同的文件和一个字符串变量写的其他方式。
以下是代码: -
for line in file:
i=0
string=line
for x in range(nrows):
string.replace(sheet1.cell(i,0).value,sheet1.cell(i,1).value)
#print(string)
i=i+1
file1.write(string)
#print(string)
但是现在它并没有取代任何东西只是复制粘贴代码。
任何人都可以用两种方式指导我......
根据帖子https://stackoverflow.com/questions/5453267/is-it-possible-to-modify-lines-in-a-file-in-place
我已经灌输了fileinput函数
但是在运行脚本后,文件变为空白
你能告诉我......
我的更新代码: -
for line in fileinput.input(filepath,inplace=True, backup='.bak'):
i=0
for x in range(nrows):
line.replace(sheet1.cell(i,0).value,sheet1.cell(i,1).value)
#print(string)
i=i+1