当前位置:首页python > 正文

python读取大型(几个G)的csv

作者:野牛程序员:2023-07-24 07:49:29python阅读 3606

Python可以使用不同的库来读取大型CSV文件,包括几个G的CSV文件。常用的库有pandasdask

  1. 使用pandas:

import pandas as pd

# 用read_csv()函数读取CSV文件,可以指定chunksize参数来逐块读取大文件
# 这里的chunksize表示每次读取的行数
chunksize = 1000000  # 一次读取100万行
csv_file_path = 'path_to_your_large_csv.csv'

# 逐块读取并处理数据
for chunk in pd.read_csv(csv_file_path, chunksize=chunksize):
    # 在这里对数据进行处理,chunk是一个DataFrame对象
    # 例如可以对每个chunk进行分析,或者合并结果等操作
    # ...

# 或者也可以一次性读取所有数据,但是需要足够大的内存
# df = pd.read_csv(csv_file_path)
  1. 使用dask: Dask是一个并行计算库,可以处理比内存大得多的数据集。它支持类似pandas的API,因此可以很方便地处理大型CSV文件。

首先需要安装dask库:

pip install dask

然后可以使用以下代码读取大型CSV文件:

import dask.dataframe as dd
# 使用dask读取大型CSV文件,自动进行分块读取和处理
csv_file_path = 'path_to_your_large_csv.csv'
df = dd.read_csv(csv_file_path)
# 可以进行各种操作,dask会自动并行处理数据
# 例如计算统计信息、筛选数据、聚合等
# 但是在大多数操作之前,需要调用compute()来执行计算
result = df.groupby('column_name').mean().compute()

注意:使用dask时,大部分操作返回的是延迟计算的结果,只有在调用compute()方法时才会真正执行计算。

无论使用pandas还是dask,都需要根据实际情况调整chunksize或采用其他分块处理的方法,确保内存和计算资源的充足。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击