Попытка сформировать нужный формат — отображение кодонов

#pandas #csv #txt

Вопрос:

Из входного файла кодона выглядит так

 TTT F TTC F TTY F TTA L TTG L TTR L TCT S TCC S TCA S TCG S TCR S TCY S TCM S TCK S  

Я пытаюсь создать текстовый файл, который выглядит следующим образом

 'TTC':'F', 'TTY':'F', 'TTA':'L', .....  
 import pandas as pd import csv import re  data = pd.read_fwf('codons') df = {'TTT':data["TTT"], 'F':data["F"]} df = pd.DataFrame(df,columns=['TTT','F']) df['codondict'] = df.TTT.str.cat(df.F, sep=":") df['codondict'].to_csv("codondict.csv")  # csv to txt  csv_file = 'codondict.csv' txt_file = 'codondict.txt'  with open(txt_file, "w") as output_file:  with open(csv_file, "r") as input_file:  [output_file.write(" ".join(row)) for row in csv.reader(input_file)]  output_file.close()  

Но ни один из выходных файлов csv в файл txt не дал мне желаемого формата. В конечном итоге я пытаюсь использовать этот желаемый результат в качестве карты для перевода других заданных последовательностей.

Может ли кто-нибудь помочь мне получить желаемый формат вывода? Спасибо

Ответ №1:

df.to_csv без имени файла дает вам строку, которую вы можете изменить и записать в свой txt:

 # you don't really need other processing df = pd.read_fwf('codons')  # csv package for quoting import csv  with open('codondict.txt', 'w') as f:  f.write(df.to_csv(quotechar="'", index=False, sep=':',  quoting=csv.QUOTE_ALL, line_terminator=', '  )  )  

Комментарии:

1. Спасибо. но мне нужно, чтобы это было похоже на «TTC»: «F», «TTY»: «F»,.. так что «TTC»:»F» похоже на пару, но вывод кода подсказал, что это «TTC», «F», «TTY»,»F»…

2. обновлено с sep=':' .