Python3 では、非常に大きなファイルからデータを読み取るのは困難ですか? この記事を読めば、あなたの悩みが完璧に解決されることは間違いありません。

1 はじめに

小さなディアオシ:ユウ兄さん、助けてください、助けてください!
Xiaoyu : パニックにならないでください... ちょっと待ってください...
Xiao Diaosi : 上司に非常に大きなテキスト ファイルを開くように言われましたが、開くことができません。
シャオユウ:それだけです...
シャオ・ディアオシ:それは大したことではありません、上司がすぐに開けるように言ったのです。
シャオユウ:開けなかったらどうするの?
小さな貂蝉: 開けられないの? それは不可能。
シャオユウ:開けられるから開けてもいいですよ。
シャオ・ディアオシ:開けることができたら、
6つ教えてあげるよ
ここに画像の説明を挿入

小さな貂蝉: ふふ、ユウ兄、他に選択肢はありません
シャオユウ: ほとんど信じてしまいました。
小さな貂蝉: ユウ兄さん、今回は私を信じてください。
シャオユウ:あなたは足が悪いと思います、とてもひどいです。
小さな貂蝉: 一度だけ、必ず一度だけ。
Xiaoyu : 分かった...
Xiao Diaosi : ふふ、始める時間だよ。

2. コード戦闘

2.1 開いた状態

最も一般的な方法の 1 つで、非常に簡単です:
コード例

with open('file_name.txt') as f:
	# 循环迭代每一行
    for line in f:

2.2 mmap

mmap は画像やビデオ ファイルなどのバイナリ ファイルを読み取るもので、これも非常に簡単です。
コード例

import mmap
with open('file_name.bin', 'r+b') as f:
    mmapped_file = mmap.mmap(f.fileno(), 0)
    # 对mmapped_file 关闭进行操作
    mmapped_file.close()

2.3 ダッシュボード

Dask は Python の人気のあるライブラリなので、ここではあまり説明しません。主に大規模なデータ セットを扱います。大規模なデータ セットを複数の
ブロックに分割し、各ブロックに対して操作を実行するには、dask.dataframe 関数を使用します。
コードを見てみましょう。

コード例

import dask.dataframe as dd
# 读取 CSV 文件
df = dd.read_csv('file_name_data.csv')
# 对数据集进行操作
result = df.groupby('column_name').mean()
# 将结果保存到文件
result.to_csv('result.csv')

2.4 パンダ

Pandas は大きなファイルを処理するために必要なライブラリです。理解できない場合は、Xiaoyu の記事を参照してください。

開始まで 9 分、非常に簡単です。
もちろん、ここでも例を挙げます。

コード例

import pandas as pd
# 读取 CSV 文件,iterator=True 将文件分块读取
df = pd.read_csv('file_name.csv', iterator=True, chunksize=1000)
for chunk in df:
    # 对每个 chunk 进行处理

2.5 ハドゥープ

ビッグデータに必要なライブラリの 1 つ: Hadoop。
これは Xiaoyu の次の方向性の 1 つでもあります (ビッグデータ アルゴリズム、このコラムはすぐにお会いします)。

ビッグデータアルゴリズムコラムでは、
ビッグデータ、ビッグデータウェアハウジング、ビッグデータアルゴリズム、データ送信アプリケーション、ビッグデータテストなどの技術を詳しく紹介します。
ここではあまりしゃべりません

次に、最後の例を少し見てみましょう。

コード例

from hdfs import InsecureClient
client = InsecureClient('http://localhost:80008')
# 读取文件
with client.read('/data/file_name.txt', encoding='utf-8') as reader:
    for line in reader: # 对每一行进行处理
       

2.6 パイスパーク

PySpark は、大規模なデータセットを並列処理できる Python の Spark API です。
同様に、PySpark を使用して大きなデータ ファイルを読み取り、処理することもできます。

コード例:

from pyspark.sql import SparkSession
# 创建 SparkSession 对象
spark = SparkSession.builder.appName('LargeFile').getOrCreate()
# 读取 CSV 文件
df = spark.read.csv('file_name.csv', header=True, inferSchema=True)
# 对数据集进行操作
result = df.groupby('column_name').mean()
# 将结果保存到文件
result.write.csv('result.csv')

3. まとめ

これを見て、今日の共有はほぼ終了です。
現在、一部の要約と共有は、主に非常に大きなデータのテキスト ファイルを読み取ることを目的としています。

  • 開いた状態で
  • mmap
  • パンダ
  • ダッシュボード
  • ハドゥープ
  • パイスパーク

もちろん、他に良い方法がある場合は、コメント欄にメッセージを残すこともできます。

私は小さな魚です:

  • CSDN ブログの専門家
  • アリユン専門ブロガー
  • 51CTO ブログエキスパート;
  • 認定講師等51
  • 認定ゴールド面接官
  • 就職面接およびトレーニングプランナー
  • いくつかの国内主流技術コミュニティの認定エキスパートブロガー
  • さまざまな主流製品 (Alibaba Cloud など) の評価で 1 位と 2 位を受賞

私はXiaoyuです。フォローしてください。より専門的で前置きしたテスト開発テクニックを紹介します。

おすすめ

転載: blog.csdn.net/wuyoudeyuer/article/details/131432785
おすすめ