我需要将 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/