前提・実現したいこと
2つの別のファイルから辞書型を作りたいです。
例えば、
file1 = (ID1 ,ID2, ID3)
file2 = (AAA,BBB,CCC)
という2つの別ファイルがあったとき、
辞書型を作成して
ID1:AAA
ID2:BBB
ID3:CCC
のような出力結果を得たいです。
該当のソースコード
Python
1f = open('file','r') 2 3for i in f: 4 if ">" in i: 5 print(i[4:10]) #これがfile1です 6 7for line in f: 8 if '>' not in line: 9 print(line) #これがfile2です
試したこと
文字列を辞書型にするために、文字列をリスト型に変換して、
辞書型に変換しようとしましたがエラーが表示されてしまいます。
補足情報(FW/ツールのバージョンなど)
Visual Studio Codeを使っています。
「2つのファイル」とありますが、コードは'file'の1つだけです。どういうことでしょうか?
> エラーが表示されてしまいます
実際に使用したコードとエラーの全文を質問文中に記載してください。
> 例えば、
> file1 = (ID1 ,ID2, ID3)
> file2 = (AAA,BBB,CCC)
> という2つの別ファイルがあったとき、
という4行ですが、なんだろう、文学的といいますか、とても不穏な気持ちにさせられます。ディストピア小説の書き出しを読むようでワクワクしてしまいます。期待しています。
不穏な気持ち ≒ ワクワク なのですか。面白い感性ですね。
@ozak 様
fileというのはおおもとのfileでしてこのfileから抽出したデータをfile1、file2に格納してこの格納したデータがfile1、file2です。言葉足らずで申し訳ございません。
@etherbag様
import re
f = open('uniprot_sprot.fasta','r')
for i in f:
if ">" in i:
q = (list(i[4:10]))
for line in f:
if '>' not in line:
p = (list(line))
print(dict(zip(q,p)))
と実行した時、
print(dict(zip(q,p)))
NameError: name 'p' is not defined
というエラーが出てしまいます。
@kilesa様
どのように書けばいいのか分からなくて考えた結果、このような形で記載しました。分かりにくくて申し訳ございません。
プログラミングは、基礎勉強をしないで難しいことをやっても上達しません。
まず入門書を読みましょう。私はPythonに関する書籍を読んだことがないのでよくわかりませんが、オライリーの【Python】入門Python3 第2版だとハズレではないと思います。
@ppaul様
プログラミングの動画を一通り見たので基礎勉強は終了したものだと思っていました。紹介してくださった本、目を通してみます。ご丁寧にありがとうございます。
問題が解決したら質問のステータスを「受付中」から「解決済」に変更していただきますようお願いします。できたらベストアンサーも選んで、どの回答で問題が解決したかを分かるようにしてください。
@etherbag様、ご親切にありがとうございます。
回答2件
あなたの回答
tips
プレビュー