Как мне написать текстовый файл с определенным форматом? - PullRequest
0 голосов
/ 26 сентября 2018

Мои исходные данные были такими, но я хочу записать эти данные так, чтобы они форматировались в "cat_id | content", как показано ниже этого

5 Name NRIC DOB 1932.11.26 Race Chinese Sex Female ND - PATIENT CARE RECORD  
4 Name NRIC DOB 1933.05.01 Race Chinese Sex Male PM - PATIENT CARE RECORD 

Я хотел бы, чтобы желаемый формат был записан вэтот формат в текстовом файле:

cat_id|content
5|Name NRIC DOB 1932.11.26 Race Chinese Sex Female ND - PATIENT CARE RECORD  
4|Name NRIC DOB 1933.05.01 Race Chinese Sex Male PM - PATIENT CARE RECORD 

Я сделал это, потому что большое количество содержимого в forloop (только для вашего понимания)

text_file = open("ED_Notes.txt", 'w')
for item in arr_cat:
    text_file.write("%s\n" % item)

пожалуйста, помогите, спасибо !!:) * * 1010

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

Это должно помочь.

Демо:

with open(filename) as infile:
    toWrite = ["|".join(line.split(" ", 1)) for line in infile]     #Iterate each line and split by first space and the join by |

with open(filename, "w") as outfile:          #Write back to file. 
    for line in toWrite:
        outfile.write(line)

Выход:

5|Name NRIC DOB 1932.11.26 Race Chinese Sex Female ND - PATIENT CARE RECORD  
4|Name NRIC DOB 1933.05.01 Race Chinese Sex Male PM - PATIENT CARE RECORD 
0 голосов
/ 26 сентября 2018

Я думаю, вы могли бы сделать это с помощью регулярных выражений.

Я бы попробовал что-то вроде этого:

import re

text_file = open("ED_Notes.txt", 'w')

for item in arr_cat:
    m = re.search("([0-9]) ([a-zA-Z].*)",item)
    text_file.write(m.group(1)+"|"+m.group(2))
text_file.close()

Извините, я тороплюсь, поэтому я не проверялон

...