私の設定で定義されている位置に基づいて、辞書のリストからデータを抽出するのに問題があります。 シナリオ: (私はいくつかのメソッド呼び出しを介して)頂点テーブルからdictのリストを取得していると私はそのファイルをアップロードすることができますので、私はそれらのデータ(ヘッダーとデータコンテンツとしての値としてキー)他の目的のためにsftpに。 「表」のデータは0から10まで開始され、「列」は、11から25まで開始され、その後、「データ型」は25からに開始するように定義されたPythonでの位置に基づいてファイルにデータを書き込む方法
例
# data received in a list of dict
new_list = [{'Table':'A', 'Column':'C1', 'DataType':'int'},
{'Table':'A', 'Column':'C2', 'DataType':'varchar'},
{'Table': 'B', 'Column': 'C3', 'DataType': 'int'}
]
マイ構成ファイル内の35。また、定義された範囲を満たすのに十分なデータがない場合は、指定されたフィールド長に達するまでデータの後ろにスペースを入れる必要があります。だから私は以下のような出力を期待しています。リストは本質的に動的です。私はseek()
を使用しなければならないことを知っているが、ちょっと混乱している。
Table Column DataType
A C1 int
A C2 varchar
B C3 int
どのような提案ですか?
あなたのデータが脆弱で無駄であることを知るためにリストのインデックスに依存する。私はリストよりも別のデータフォーマットを使うだろう。辞書の辞書はどうですか?ジュソン?とにかく、私は正確に質問を理解していることは分かりません。あなたのファイルを書くコードはどこですか? – jDo
私の推奨は 'struct'モジュールを使用していますが、長い答えになります –
' w + 'モードで書き込みと更新のためにファイルを開きます。目的の場所に移動するには 'seek()'を呼び出し、 'write()'を使用して目的のデータを書き込みます。 –