Pandas 提供了一种分段读取 CSV 文件的方法,可以一次读取文件的一部分数据,然后再读取下一部分数据,以此类推。这种方法可以在处理大型 CSV 文件时提高效率,避免内存溢出问题。

以下是使用 Pandas 分块读取 CSV 文件的示例代码:

import pandas as pd

# 设置每次读取的行数
chunk_size = 1000

# 创建一个 CSV 文件迭代器
csv_iterator = pd.read_csv('data.csv', chunksize=chunk_size)

# 遍历迭代器,逐个读取分段数据
for chunk in csv_iterator:
    # 在这里对分段数据进行处理
    # 例如,可以使用 chunk 进行数据清洗、转换等操作
    # ...

    # 打印分段数据的摘要信息
    print(chunk.describe())

    # 可以将处理后的数据保存到新的 CSV 文件中
    # chunk.to_csv('processed_data.csv', mode='a', header=False)

    # 可以将处理后的数据插入到数据库中
    # chunk.to_sql('table_name', connection, if_exists='append')

在上面的示例代码中,首先设置了每次读取的行数为 1000(可以根据实际情况进行调整)。然后使用 pd.read_csv() 函数创建了一个 CSV 文件迭代器,该迭代器会按照指定的行数分块读取 CSV 文件。接下来,通过遍历迭代器,可以逐个读取分块数据,并在循环中对数据进行处理。在示例代码中,使用 describe() 方法打印了每个分块数据的摘要信息,你可以根据需要进行其他处理操作。最后,可以将处理后的数据保存到新的 CSV 文件中,或者插入到数据库中。

请注意,在处理大型 CSV 文件时,建议使用适当的内存优化技巧,例如选择合适的数据类型、使用迭代器进行分块读取等,以避免内存溢出的问题。

Pandas 分块读取 CSV 文件:高效处理大型数据集

原文地址: https://www.cveoy.top/t/topic/fQ3o 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录