PYTHON实现表格的拆分

最近有一个师弟要求我实现一个功能:

大概就是一个48*88*6的表格,其中88意思是一幅影像中88个样本点的DN值,而48则是48幅影像,整体的上一步工作就是他通过模型得到的结果,为48*88(4224)*6的表格,4224为行数,6为列数。

要求实现的功能即:把这个大表格按照顺序,每88行*6列导出为一个表格,一共导出48个小表格。

整体代码以python实现.,具体如下:

import numpy as np
import pandas as pd
import os
# 导入一些需要使用的包,包括pandas、numpy和系统包os

file_path = r"C:\Users\lachesis\Desktop\数据处理\8023.xlsx"
out_dir = r"C:\Users\lachesis\Desktop\数据处理\out"
step = 4
data_len = 16
# 输入路径和输出路径的设置,以及一些参数的设置(先使用了16*6的表格做测试)

# 文件名提取
file_name = os.path.basename(file_path) # abc.xlsx
file_name = file_name.split(".")[0]  # abc

# 用pandas读取数据
data = pd.read_excel(io=file_path)

# 获取输出切片数据
out_datas = [] # 存放切片数据 [切片1 , 切片2, 。。。]
for i in range(0, data_len, step):  # i 从0开始,到4224结束,88为步长
    out_datas.append(data[:,i:i+step])  # 

# 逐一导出数据
for i,temp in enumerate(out_datas):
    df = pd.DataFrame(temp)
    
    out_file_path = os.path.join(out_dir, f"{file_name}_{i}.xlsx")
    df.to_excel(out_file_path)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值