У меня есть текстовый файл, содержащий данные как:
****File1*****
a jhk
b hfd
file f1.txt ;file open
hh dsfsd
----
qqw adas
file f2.txt ;file open
hjh dfd
****File2*****
d sdfsd
b sdfsd
file f3.txt ;file open
sada dsfsd
----
qqw sdfsd
file f4.txt ;file open
wqeq dfd
У меня есть список
files=['a.txt','b.txt','c.txt','d.txt']
Я хочу заменить строки (файлы) в текстовом файле на значения в списке впорядок.Например: я хочу заменить «f1.txt» в текстовом файле на «a.txt», а затем «f2.txt» на «b.txt» ... аналогично.
Я попробовал следующее:
fileName=input("Enter Input File Name: ")
f1=open(fileName,'r')
outFile=input("Enter Output File: ")
f2=open(outFile,'w')
nr=csv.reader((open("graphScript.csv")))
rn=0
b=[]
gFlag=0
global files
files=[]
for row1 in nr:
b.append(row1)
rn+=1
global nGraph
df=pd.read_csv("graphScript.csv")
files=list(df[df.columns[0]][4:])
for line in f1.readlines():
word=line
count = 0
----
if re.search(r'/file',word):
strplit=word.split()[1]
for i in files:
word=strplit.replace(strplit,i)
f2.write(word)
else:
f2.write(word)
Всякий раз, когда я запускаю этот код, вывод выглядит как:
****File1*****
a jhk
b hfd
a.txtb.txtc.txtd.txt
hh dsfsd
----
qqw adas
a.txtb.txtc.txtd.txt
hjh dfd
****File2*****
d sdfsd
b sdfsd
a.txtb.txtc.txtd.txt
sada dsfsd
----
qqw sdfsd
a.txtb.txtc.txtd.txt
wqeq dfd
То, что я на самом деле хочу, чтобы вывод был:
****File1*****
a jhk
b hfd
file a.txt ;file open
hh dsfsd
----
qqw adas
file b.txt ;file open
hjh dfd
****File2*****
d sdfsd
b sdfsd
file c.txt ;file open
sada dsfsd
----
qqw sdfsd
file d.txt ;file open
wqeq dfd
Как это исправить