我有一个包含大量数据的excel。我想将此excel拆分为多个行平均分布的excel。
我目前的代码是工作的一部分,因为它是分配所需的行数和创建多个excel。但在同一时间,它是通过考虑行数不断创建更多的excel。
在n_partitions中,如果我输入数字5,那么它将在两个excel中创建5行excel,之后它将继续创建三个空白excel。我希望我的代码在所有行都被分发后停止创建更多excel。
下面是我的示例excel与预期的结果和示例代码。
我当前使用的代码是。
import pandas as pd
df = pd.read_excel("C:/Zen/TestZenAmp.xlsx")
n_partitions = 5
for i in range(n_partitions):
sub_df = df.iloc[(i*n_partitions):((i+1)*n_partitions)]
sub_df.to_excel(f"C:/Zen/-{i}.xlsx", sheet_name="a")
2条答案
按热度按时间inb24sb21#
另一种可能的解决方案:
pcww981p2#
您可以使用下面的代码将DataFrame拆分为5个大小的块:
您可以像这样访问每个块:
〉〉
list_df[0]
〉〉
list_df[2]
然后,您可以遍历块/子 Dataframe 列表并创建单独的Excel文件: