私は4つの異なる列を持つ巨大なファイルを持っています。列の1つに 'AB'、 'BC'、 'CA'などのコードがあります。私は各コードごとに別々のファイルを作成したいと思います。 4つのフィールドはすべて 'AB'のコードフィールドを持つfile_ABの例 私はこれに新しいですが、可能であれば、Pythonを使用したいと思います。 with open("C:/Users/Desktop/JesseData/fileread.txt") as f1: with open("C:/Users/Desktop/JesseData/fileout.txt") as f2: for line in f1: if fourth_attribute == 'CA': f2.write(line)
ファイルの内容にコードごとに別々のファイルを書く - python
答えて
私はあなたにこれを行うには、完全なコードを提供するつもりが、ここではスタートだいないよ:
ステップ1:あなたのファイルが巨大である場合
ファイルを読んで、あなたがお勧めしますそれを塊で読むこと。これを行うには、各チャンクで読んだ行の数を追跡し、そのイテレータが限界に達すると、そのデータを別のファイルにダンプします。次のようなものがあります。
with open("raw_data.txt", 'r') as f:
i = 0
data = []
for line if f:
data.append(line) #do some formatting here
i += 1
if i >= THRESHOLD:
data_dump(data)
data = []
i = 0
この方法では、ファイル全体を一度に消去することはできません。
ステップ2:あなたのdata_dump
機能でグループデータ
、あなたはグループにデータをお勧めします。これは、itertools.groupby()
で最も簡単に実行できます。この関数は、反復可能キーとキーを受け取り、グループに分割された反復子を返します。あなたのデータがフォーマットされている場合、各行は、その行の値のリストである、そして、あなたのキーが最初のエントリであり、あなたのグループ分けは次のようになります。
groups = itertools.groupby(data, key = lambda x: x[0])
注groupby()
あなたがソートされたデータセットを期待し、そうすることを同じキー機能でデータをソートする必要があります。以下はgroupby
>>> lst = [[1, 2,3],[1,4,5],[2,45,65]]
>>> import itertools
>>> groups = itertools.groupby(lst, key = lambda x: x[0])
>>>
>>> for g in groups:
... print g[0], list(g[1])
...
1 [[1, 2, 3], [1, 4, 5]]
2 [[2, 45, 65]]
ステップ3の簡単な例である:データ
を書くあなたのデータがグループ化されたら、することができますだけのグループをループし、対応する出力ファイルにデータを追加。あなたのループ
このような詳細な説明をいただきありがとうございます。私のファイルはリストではなく、 ";"で区切られた属性を含んでいます。ですから、デリミタを使ってグループ化する方法はありますか? – yatri
- 1. Python - 単一ファイルのセクションごとに別々のファイルを書き込む
- 2. 別のファイルの内容と行ごとにsedの亜分割
- 3. 別のファイルの内容に基づく1つのファイルのサブセットの内容
- 4. ファイルの内容を別のファイルにコピー
- 5. フォルダ内の複数のファイルでPythonコードを実行し、別々のファイルに書き込む
- 6. モデルごとに別々のファイルを使用したSequelizejsのNodej
- 7. 行ごとに1つのファイルでcsvの内容を.txtファイルに書き込みますか?
- 8. Python CSVファイルに内容を書き込むファイル
- 9. フィルタ結果ごとに別々のExcelファイルを作成する
- 10. ctestでテストごとに別々のファイルが必要ですか?
- 11. getを使用してファイルの内容を別のファイルに書き込む
- 12. Python、関数の内容を.txtファイルに書き込む
- 13. リストのリストを別々のテキストファイルに書き出すと、そのリストにあるリストごとに1つのファイル
- 14. Djangoの各アプリケーションの静的ファイルごとに別々のフォルダを持つ方法
- 15. Pythonソートtxtファイルの内容
- 16. ファイルにPHPコードを書く
- 17. jListにファイル内容を書き込む
- 18. あるファイルの内容を別のファイルに追加する
- 19. imgファイルの内容を別のimgファイルにコピー
- 20. HTTP GETとHTTPを別々のファイルに書き込む方法
- 21. Python INIファイル1変数の内容を3つの別々の変数に分割する方法
- 22. あるファイルの内容を別のファイルに入れようとすると、
- 23. ファイルに保存し、Pythonでファイルの内容を取得する
- 24. ファイルから別のファイルの内容を含む行を検索するPython
- 25. ライブラリのインスタンスごとに別々のロガー
- 26. C++で別のファイルにクラスを書く
- 27. 各chain_idごとに別々の出力ファイルを保存する方法は?
- 28. HTMLページごとに別々のjavascriptファイルを使用していますか?
- 29. PySpark:パーティション分割せずに出力ファイルを別々のファイルに書き込む
- 30. Cで単語ごとに1つのファイルから別の単語に内容をコピーする方法は?
のすべてを通してあなたのループは、なぜあなたはそれを試し、ポストを与えていないときは、簡単に正しいファイルに書き込むことができますこの方法では
:私は、ファイルハンドルの辞書を保つことをお勧めしたいですいくつかのコード? – Francesco