当前位置:首页python > 正文

python pandas读入千万行(10GB)csv文件

作者:野牛程序员:2023-11-21 12:13:39python阅读 3038

使用Pandas读取大型CSV文件时,可以采取一些优化策略以提高性能和减少内存使用。以下是一些建议:

import pandas as pd

# 1. 使用适当的数据类型
dtypes = {'column1': 'int32', 'column2': 'float64', 'column3': 'str'}
df = pd.read_csv('your_large_file.csv', dtype=dtypes)

# 2. 分块读取
chunk_size = 1000000  # 设置合适的块大小
chunks = pd.read_csv('your_large_file.csv', chunksize=chunk_size)
for chunk in chunks:
    # 处理每个块的数据

# 3. 只读取所需的列
columns_to_read = ['column1', 'column2', 'column3']
df = pd.read_csv('your_large_file.csv', usecols=columns_to_read)

# 4. 跳过不必要的行
rows_to_skip = [1, 2, 5, 10]  # 以零为索引的行号
df = pd.read_csv('your_large_file.csv', skiprows=rows_to_skip)

# 5. 使用合适的解析器
# 如果你的CSV文件是用分隔符而不是逗号分隔的,可以通过设置delimiter参数来指定分隔符
df = pd.read_csv('your_large_file.tsv', delimiter='\\t')

# 6. 禁用某些功能
# 禁用不必要的功能可以提高性能,例如解析日期和不需要的空值处理
df = pd.read_csv('your_large_file.csv', parse_dates=False, na_filter=False)

# 7. 使用内存映射
# 如果你的文件太大,无法一次性加载到内存中,可以考虑使用内存映射
df = pd.read_csv('your_large_file.csv', memory_map=True)

根据实际需求,选择适合情况的策略。


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

最新推荐

热门点击