假设我有一个带有101
行的excel文件,我需要将每个新文件拆分并写入11
具有相同行号的excel 10
文件,但最后一个文件除外,因为只剩下一行。
这是我尝试过的代码,但是我得到了KeyError: 11
:
df = pd.DataFrame(data=np.random.rand(101, 3), columns=list('ABC'))
groups = df.groupby(int(len(df.index)/10) + 1)
for i, g in groups:
g.to_excel("%s.xlsx" % i, index = False, index_lable = False)
有人可以帮助解决这个问题吗?非常感谢。
相关参考:将pandas数据框拆分为行数相等的多个数据框
我认为您需要np.arange
:
df = pd.DataFrame(data=np.random.rand(101, 3), columns=list('ABC'))
groups = df.groupby(np.arange(len(df.index))//10)
for i, g in groups:
print (g)
它产生一个错误:
ValueError: Grouper and axis must be same length
@ahbon-也许我打错了
)
,你能检查一下吗df.groupby(np.arange(len(df.index))//10)
很棒,问题解决了。谢谢。