次のような出力を取得しようとしています:
KPLR003222854-2009131105131
テキストファイルで。私がその出力を導出しようとしている方法は次のとおりです。
with open('Processed_Data.txt', 'r') as file_P, open('KIC_list.txt', 'w') as namelist:
nameData = []
for line in file_P:
splt_file_P = line.split()
nameData.append(splt_file_P[0])
for key in nameData:
namelist.write('\n' 'KPLR00' + "".join(str(w) for w in nameData) + '-2009131105131')
ただし、上記のように on ID をきれいに使用するのではなく、nameData 配列の数値がすべて指定された出力に一度に表示されるという問題があります。出力は次のようになります。
KPLR00322285472138721382172198371823798123781923781237819237894676472634973256279234987-2009131105131
したがって、私の質問は、個別の ID (それぞれに特定のインデックス値がありますが、150 以上あります) を適切に出力できるように、書き込みコマンドをループする方法です。
編集: また、リスト内の ID の一部は同じ長さではないため、「キー」の前に 0 を追加して、すべて 9 桁に等しくしたいと考えました。KPLR に 0 を引用符で囲んで追加することでこれをごまかしましたが、すべての ID に 2 つの 0 が必要なわけではありません。問題は、KPLR とキーの間に何らかの方法で 0 を追加して、9 桁の形式に一致させることはできますか?