Python: заменить слова в исходном текстовом файле другим файлом токенов. - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь заменить слова в исходном файле, ссылаясь на контактные данные файла токенов для замены старого слова новым словом.

Данные заменяются, но код предоставляет как исходные, так и преобразованные данные . Может кто-нибудь помочь с проблемой. Ниже приведены подробности

Макет входного файла:

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)  
  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...