python - 如何通过固定大小的 block 将 pandas DataFrame 写入 CSV

标签 python csv pandas

我需要将 pandas 的数据输出到 CSV 文件中,以便与第三方开发的流程进行交互。

该过程要求我在文件中传递的记录不超过 100,000 条,否则会导致问题(速度缓慢,可能会崩溃)。

也就是说,我怎样才能编写一些东西来获取 pandas 中的数据帧并将其拆分为 100,000 个记录帧?除了导出的数据帧是父数据帧的子集之外,没有什么不同。

我认为我可以用这样的东西做一个循环,但我认为它的效率非常低..

首先,采用 recordcount=len(df.index) 来获取记录数,然后循环直到我使用类似的方法到达那里

df1 = df[currentrecord:currentrecord+100000,]

然后将其导出到 CSV 文件

必须有一种更简单的方法。

最佳答案

你可以尝试这样:

def save_df(df, chunk_size=100000):
    df_size=len(df)
    for i, start in enumerate(range(0, df_size, chunk_size)):
        df[start:start+chunk_size].to_csv('df_name_{}.csv'.format(i))

关于python - 如何通过固定大小的 block 将 pandas DataFrame 写入 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35001645/

相关文章:

python - 如何使用 Holoviews Bokeh Datashader 进行 ylim 绘图限制

java - JSON 对象扁平化为 CSV 一行

mysql - 如何忽略bash脚本中的转义字符?

python - 如果其他 'better' 值存在于其他地方,则替换数据框列中的值

python - Python 中二叉搜索树的广度优先搜索

python - 如何列出python中的目录文件?

python - 找到列中的值与列表 Python 中的值不匹配的行

python - Pandas 单词中重复的元音和辅音

python - 在 matplotlib 中连接两个桑基图

r - 将 fusionMatrix 的输出保存为 .csv 表