#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=':'
.