私は各辞書の中のキー/値にアクセスできるように、辞書内に4つの異なるカテゴリ(A、B、C、Dと呼ぶ)を格納する方法を開発しようとしています。ファイル名と照合してください。これまでのところ、3つのカテゴリのうち3つを辞書に格納できましたが、4番目のものは格納できませんでした。カテゴリはExcelファイルからのもので、通常の.txtファイル(.txtファイルを含む)にコピーされました。辞書に4番目のコンポーネントを追加する方法はありますか? .txtファイルネストされた内側の辞書をリストする
リンク:https://drive.google.com/file/d/0B2s43FKt5BZgQldULXVOR0RBeTg/view?usp=sharing
は、ここに私のスクリプトです:
from collections import defaultdict
source_file = <file path>-<file name>.txt
data_set = defaultdict(list) #sets up a defaultdict because there may be multiple overlapping keys
s = [b for b in [i.strip('\n').split('\t') for i in open(source_file)] if b] # removes new line & tab spaces in .txt file
for a, b, c, d in s: # a is donor, b is barcode, c is batch, d is donor
if a == 'Component1': # We don't want to save the column headings
pass
else:
data_set[a].append({b: c}) # creates the default dictionary
出力は一瞬のように、このようなものです:
{'1':[{'ab':'tg'},{'dd':'dd'}],'2':{'dc':'yh'},3:{'we':'hh'}}
th e 'csv'-moduleをタブ区切りファイルとして使用します。 – Daniel
あなたの入力ファイルは 'Component1'値が' 1'の2行です。これが起こったときに何が起こりたいですか? **どのような** **ディクショナリのように見える(本当にあなたの現在のコードの出力を気にしないでください)? – martineau