数学建模中编程手们常常会被要求将大量的数据进行批量的预测操作,并写入某个文件中

Excel的批量导出数据,用循环就可以简单实现,例如

import pandas as pd
for i in list(df['har_feacture']):
result = df.loc[df['har_feacture'] == i]
df_agg = result.groupby(['order_date'])['ord_qty'].mean().reset_index() # 从DataFrame对象df中读取需要的列并转换成DatetimeIndex对象
df_agg['order_date'] = pd.to_datetime(df_agg['order_date']) df_agg = df_agg.set_index('order_date') # 对数据按月分组求和
monthly_demand = df_agg['ord_qty'].resample('M').sum() s = pd.Series(monthly_demand) file_path = f"D:/data/f{i}.xlsx" #对s进行保存,保存在同一个文件夹中
s.to_excel(file_path, index=True)

同时当我们对上述的每一个文件进行预测操作之后,需要将结果输出在一个.csv或.xlsx文件中,可以这样写:

import pandas as pd
import os # 设置输入文件夹路径,这是存放所有文件的文件夹地址
input_folder_path = 'd:/data'
# 设置输出文件夹路径
output_folder_path = 'd:/data_csv' # 获取文件夹中所有文件的列表
file_list = os.listdir(input_folder_path) for file_name in file_list:
# 判断文件是否为xls文件
if file_name.endswith('.xlsx'):
# 构造输入文件路径
input_file_path = os.path.join(input_folder_path, file_name)
# 读取xls文件
df = pd.read_excel(input_file_path)
# 构造输出文件路径
output_file_path = os.path.join(output_folder_path, file_name.replace('.xlsx', '.csv'))
# 将xls文件保存为csv文件
df.to_csv(output_file_path, index=False)

值得注意的是,result.xlsx需要提前创建,否则会报错,我们也可以使用一个判断条件来自动创建,但是这里就不写了,自己在目标文件夹创建即可

数学建模 Excel的批量写入与批量导出的更多相关文章

  1. c#WebApi使用form表单提交excel,实现批量写入数据库

    思路:用户点击下载模板按钮,获取到excel模板,然后向里面填写数据保存.from表单提交的时候选择保存好的excel,实现数据的批量导入过程 先把模板放在服务器的项目目录下面:如 模板我一般放在:F ...

  2. Wolsey "强整数规划“ 建模的+Leapms实践——无产能批量问题

    Wolsey "强整数规划“ 建模的+Leapms实践——无产能批量问题 <整数规划>[1]一书作者L. A. Wolsey对批量问题(Lot-sizing Problem)做了 ...

  3. 个人永久性免费-Excel催化剂功能第22波-Excel文件类型、密码批量修改,补齐PowerQuery短板

    Excel的多工作薄.多工作表批量合并功能,Excel用户很多这方面的使用场景,也促使了各大Excel各大插件们都在此功能上有所开发,体验程度不一,但总体能够满足大多数的应用场景,本人之前也开发个单独 ...

  4. DataTable数据批量写入数据库三种方法比较

    DataTable数据批量写入数据库三种方法比较 标签: it 分类: C#1)   insert循环插入:2)   sqldataadapter.update(dataset,tablename); ...

  5. mysql批量写入

    MySQL批量写入语法是: INSERT INTO table (field1,field2,field3) VALUES (“a”,”b”,”c”), (“a1”,”b1”,”c1”),(“a2”, ...

  6. SqlBulkCopy批量写入25万条数据只需3s

    Microsoft SQL Server 提供一个称为 bcp 的流行的命令提示符实用工具,用于将数据从一个表移动到另一个表(表既可以在同一个服务器上,也可以在不同服务器上).SqlBulkCopy  ...

  7. openerp 产品图片的批量写入

    Write a short python script which loops over the image files, encode with base64 and write to OpenER ...

  8. MySQL通用批量写入工具(Python)

    背景   平台目前的分析任务主要以Hive为主,分析后的结果存储在HDFS,用户通过REST API或者Rsync的方式获取分析结果,这样的方式带来以下几个问题:   (1)任务执行结束时间未知,用户 ...

  9. 使用XML向SQL Server 2005批量写入数据——一次有关XML时间格式的折腾经历

    原文:使用XML向SQL Server 2005批量写入数据——一次有关XML时间格式的折腾经历 常常遇到需要向SQL Server插入批量数据,然后在存储过程中对这些数据进行进一步处理的情况.存储过 ...

  10. HBase BulkLoad批量写入数据实战

    1.概述 在进行数据传输中,批量加载数据到HBase集群有多种方式,比如通过HBase API进行批量写入数据.使用Sqoop工具批量导数到HBase集群.使用MapReduce批量导入等.这些方式, ...

随机推荐

  1. MD5 简介 以及 C# 和 js 实现【加密知多少系列】

    〇.简介 MD5 是哈希算法(散列算法)的一种应用.Hash 算法虽然被称为算法,但实际上它更像是一种思想.Hash 算法没有一个固定的公式,只要符合散列思想的算法都可以被称为是 Hash 算法. 算 ...

  2. ChatGPT对于滤除微多普勒运动目标的解决方案

    上一篇体验了一把GPT的真香定律,赶紧又问了一些同事问的如何滤除微多普勒目标的问题.感觉还可以,后面可以试试看,具体大家可以一起看看这个回答,还是有一些可以采纳的意见(文章内容为GPT回答的内容,可能 ...

  3. 基于springboot实现SSM整合

    (1)SpringBoot整合Spring(不存在) (2)SpringBoot整合SpringMVC(不存在) (3)SpringBoot整合MyBatis(主要) 一.新建springboot项目 ...

  4. Windows 系统下怎么获取 UDP 本机地址

    Windows 系统下怎么获取 UDP 本机地址 我们知道 UDP 获取远端地址非常简单,通常接口 recvfrom 就可以直接获取到远端的地址和端口:如果获取 UDP 的本机地址就需要点特殊处理了, ...

  5. consumer goods cloud 之后续慢慢看系列

    继之前的内容和帮助文档之外,整理一些其他有用的CG资源,有时间可以深入学习一下. 零售执行: https://rise.articulate.com/share/R9_PIF3mcNMuAi4iUtA ...

  6. ArcMap将Python写的代码转为工具箱与自定义工具

      本文介绍在ArcMap软件中,通过已有的Python脚本程序,建立新的工具箱并在其中设置自定义工具的方法.   通过本文介绍的操作,我们便可以实现将自己的Python代码封装,并像其他ArcGIS ...

  7. Vue中使用axios发起POST请求成功,却被挂起

    服务器能接收请求并处理,控制台没有报错,axios().catch也没有捕获异常.随后查看控制台网络页,发现被挂起 在Stack搜到同问题,上面说将axios()函数返回用.then查看被挂起信息.n ...

  8. Neo4j常用操作——Cypher查询语言

    1. 删除数据库中以往的图,确保一个空白的环境进行操作: MATCH (n) DETACH DELETE n # 要想删除数据库的话直接删除文件即可 2. 创建一个人物节点: CREATE (n:Pe ...

  9. nodsjs POST请求

    PHP 遇到问题: 1.跨域问题 报failed to load response data:no data fond for response with give header("Cont ...

  10. 从头开始,手写android应用框架(一)

    前言 搭建android项目框架前,我们需要先定义要框架的结构,因为android框架本身的结构就很复杂,如果一开始没定义好结构,那么后续的使用就会事倍功半. 结构如下: com.kiba.frame ...