![](/img/trans.png)
[英]How to split a large excel file into multiple worksheets based on their given ip address using pandas python
[英]Using Python And Pandas To Split Excel Worksheet Into Separate Worksheets
我需要一个脚本来将主工作表(包含超过 50K 行)拆分为仅包含 40 行且没有标题的单独工作表
经过一番研究,我设法创建了一个拆分主工作表的脚本。 但是,每个工作表都包含原始标题,并且每个工作表的行不会拆分为 40 行。
我相信当您使用带有数据框的熊猫拆分工作表时,它们将始终包含标题? 关于如何修改我的 python 脚本以实现我需要的任何建议,或者是否有更简单的方法来实现这一点而无需使用熊猫和数据框?
这是一些示例数据的链接: https : //github.com/lblake/sample-data
path = input('Enter file path to workbook name and extension,
e.g. example.xlsx: ')
chunksize = int (input('Enter the row number you want to split the excel sheet at: ') )
destination = input('Enter folder path to where you want the split files stored. Press Enter to save in current location: ')
i = 0
df = pd.read_excel(path)
for chunk in np.array_split(df, len(df) // chunksize):
chunk.to_excel(destination +
'file_{:02d}.xlsx'.format(i), index=True)
i += 1
您可以使用groupby
并进行迭代。 要忽略标题,请在写入pd.ExcelWriter
对象时指定header=False
。 下面的示例将 10 行的数据帧拆分为 2 行块。
df = pd.DataFrame(np.arange(100).reshape((10, 10)))
writer = pd.ExcelWriter('file.xlsx')
for key, grp in df.groupby(df.index // 2):
grp.to_excel(writer, f'sheet_{key}', header=False)
writer.save()
我刚刚复制了您的代码并添加了header=False
path = input('Enter file path to workbook name and extension,
e.g. example.xlsx: ')
chunksize = int (input('Enter the row number you want to split the excel sheet at: ') )
destination = input('Enter folder path to where you want the split files stored. Press Enter to save in current location: ')
i = 0
df = pd.read_excel(path)
for chunk in np.array_split(df, len(df) // chunksize):
chunk.to_excel(destination +
'file_{:02d}.xlsx'.format(i), index=True, header=False)
i += 1
它对我有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.