Python 3.4/3.2からtxtファイルにデータを出力する必要があります。 CT_TYPEの2つの以上の値がある場合、それらは、COL2及びCOL3と最後の値の両方に印刷しなければならない、同じID1について大きなデータをPythonの特別なフォーマットのファイルに出力する
col1 | col2 | col3 |
id1 CT_TYPE value1 CT_TYPE value2
AR CT1 239 CT2 9.66
AR CT3 8.65
NY CT1 6.25 CT2 67.89
NY CT3 78.61
:
ファイルの各行の形式はid1型のcol3を空にすることができます。たとえば、次の印刷形式が間違っています。
col1 | col2 | col3 |
id1 CT_TYPE value1 CT_TYPE value2
AR CT1 239 " this cannot be left as blank"
AR CT2 9.66 CT3 8.65
id1の値が異なる場合は、新しい行を追加する必要があります。たとえばFror、ID1 = NYはARと同じ行にすることはできません。
AR CT3 8.65 NY CT1 6.25 // this is not allowed.
あり、印刷する必要のあるデータラインの数十万人。私は並べ替えを使用したくないのですが、データサイズが大きくてPythonのデータ構造に保持されるからです。だから、ブロックごとにデータベースからデータをロードしてファイルに出力する必要があります。データベースからロードされた各ブロックが同じid1値を持つことを確認できます。
私の質問は、データがブロック単位で印刷されるときに上記のフォーマットが保持されることを確認することですか? Pythonで、私が使用:同じID1タイプのCT_type値が同じ行にも十分に改行「\ n」の後に追加された時に印刷されるように
with open(fileName, 'a') as f:
f.wite(aLine + "\n");
どのように現在の印刷位置を変更します最後のデータラインが印刷された。私が欲しい
AR CT2 9.66
:
col1 | col2 | col3 |
id1 CT_TYPE value1 CT_TYPE value2
AR CT1 239 CT2 9.66
ない:
col1 | col2 | col3 |
id1 CT_TYPE value1 CT_TYPE value2
AR CT1 239
AR CT2 9.66
新しいブロックに新たなデータラインが似ている
col1 | col2 | col3 |
id1 CT_TYPE value1 CT_TYPE value2
AR CT1 239
:たとえば、私のファイルは、これらの持っている場合
ありがとうございました