Я пытаюсь заменить слова в исходном файле, ссылаясь на контактные данные файла токенов для замены старого слова новым словом.
Данные заменяются, но код предоставляет как исходные, так и преобразованные данные . Может кто-нибудь помочь с проблемой. Ниже приведены подробности
Макет входного файла:
SourceID|Organization|NPI|HIN
1|ABC Hosp|12345|98765
3|LMN Pharm|1234567|767654
Макет файла токена:
Hosp,Hospital
Pharm,Pharmacy
Текущий выход:
SourceID|Organization|NPI|HIN
SourceID|Organization|NPI|HIN
1|ABC Hospital|12345|98765
1|ABC Hosp|12345|98765
3|LMN Pharm|1234567|767654
3|LMN Pharmacy|1234567|767654
Ожидаемый результат :
SourceID|Organization|NPI|HIN
1|ABC Hospital|12345|98765
3|LMN Pharmacy|1234567|767654
Используемый код:
import sys
Token = [i.strip().split(',') for i in open('TokenFile.csv')]
InitialValue=int(sys.argv[1])
InitialValue -=1
NextVal=InitialValue+1
with open('TokenizedOutput.txt', 'w') as out:
with open('SourceFile.csv', 'r') as infile :
for line in infile:
Tokenization=line.split('|')[InitialValue]
BeforeAttri='|'.join(line.split('|')[0:InitialValue])
AfterAttri='|'.join(line.split('|')[NextVal:])
for oldword, newword in Token:
line = Tokenization.replace(oldword, newword)
CompValue=BeforeAttri+'|'+line+'|'+AfterAttri
print(CompValue)
out.write(CompValue)