在指定文件目录下,新建以当前日期命名的excel 文件,如果文件已经存在,在文件中新建一个sheet页来存放数据

import datetime
import xlrd, xlwt
import re
from xlutils.copy import copy as xl_copy
import xlwt
import os # 创建文件
def creat_excel():
# 表头信息,可自定制
header = [u'下单日期', u'出发时间', u'出发时段', u'上车地点', u'下车地点', u'乘客名', u'司机信息', u'口岸', u'车队', u'是否8座', u'支付渠道', u'支付金额', u'车队报价', u'备注', u'备注2', u'订单来源']
# 创建的文件夹路径
creat_path = create_dir()
# //查看当前路径
os.getcwd()
# //更改至相应路径下
os.chdir(creat_path)
# 新建文件名
file_name = datetime.datetime.now().date().strftime('%Y%m%d') + '.xls'
# 创建文件路径
f_path = creat_path + '\\' + file_name
# 执行时 通过 exists 函数判断文件是否存在 --如果不存在,新建文件
if os.path.exists(file_name) == False: file = xlwt.Workbook()
Sheet_name = file.add_sheet('sheet1')
row0 = header
for i in range(0, len(row0)):
Sheet_name.write(0, i, row0[i])
file.save(file_name)
# 如果存在,在该文件中新建一个sheet页
else:
Sheet_name = creat_sheetname(f_path, header)
# 通过 realpath 获取文件全路径
file_path = os.path.realpath(file_name)
# print('路径creat_path:',creat_path)
# print('文件路径file_path:',file_path)
# 返回文件全路径,文件夹路径,sheet页名称
return file_path, creat_path, Sheet_name # 创建目录
def create_dir():
# 定义文件夹名称
folder_name = datetime.datetime.now().date().strftime('%Y%m%d')
# 自定义路径
newdir = r"C:\Users\Jiang Yudong\Desktop\danfosi" + '\\' + folder_name
# 判断路径是否存在 如果不存在,新建文件夹
if not os.path.exists(newdir):
os.makedirs(newdir)
# print(newdir)
# print('文件夹路径newdir:',newdir)
return newdir # 创建sheet def creat_sheetname(f_path, header):
# 定义一个默认数字
num = 0
# open existing workbook
rb = xlrd.open_workbook(f_path) # 获取所有sheet
sheet_list = rb.sheet_names() # 获取页码
num = re.sub("\D", "", sheet_list[-1]) # make a copy of it
wb = xl_copy(rb) # 新定义sheet名
num_sh = int(num) + 1
sheet_name = 'sheet' + str(num_sh) # add sheet to workbook with existing sheets
Sheet_name = wb.add_sheet(sheet_name) # 填写表头信息
row0 = header
for i in range(0, len(row0)):
Sheet_name.write(0, i, row0[i])
# 保存文件
wb.save(f_path)
# 将sheet 页名称返回
return sheet_name

在自定义目录下,按日期创建excel文件的更多相关文章

  1. http-server让你在任何目录下都可以创建web服务

    在做前端页面开发,或者预览时,如果借助于Apache.Tomcat.nginx等预览页面,每次需要将所需预览的页面移动到对应的文件夹下,且还需要考虑是否删除相关目录原有的文件,显然比较麻烦. 那么有没 ...

  2. SpringBoot使用logback自定义配置时遇到的坑 --- 在 /tmp目录下自动生成spring.log文件

    问题描述 SpringBoot项目使用logback自定义配置后,会在/tmp/ 目录下生成 spring.log的文件(如下图所示). 解决方案 通过各种资料的搜索,最终发现问题的所在(logbac ...

  3. Java Struts2 POI创建Excel文件并实现文件下载

    Java Struts2 POI创建Excel文件并实现文件下载2013-09-04 18:53 6059人阅读 评论(1) 收藏 举报 分类: Java EE(49) Struts(6) 版权声明: ...

  4. Java基础知识强化之IO流笔记49:IO流练习之 复制指定目录下指定后缀名的文件并修改名称的案例

    1. 复制指定目录下指定后缀名的文件并修改名称的案例     需求:复制指定目录下的指定文件,并修改后缀名.  • 指定的文件是:.java文件.     • 指定的后缀名是:.jad     • 指 ...

  5. Java算法面试题:编写一个程序,将e:\neck目录下的所有.java文件复制到e:\jpg目录下,并将原来文件的扩展名从.java改为.jpg

    package com.swift; import java.io.File; import java.io.FileFilter; import java.io.FileInputStream; i ...

  6. NPOI 2.0 创建Excel文件

    如果只是简单的处理的话,只需要引用下载压缩包里的 NPOI.dll (office 2003)或 NPOI.OOXML.dll (office 2007) 文件而已. using System; us ...

  7. mac下为Apache 创建 .htaccess文件

    标签:mac   .htaccess 在设置固定链接时会提示如下的问题:   若您的 .htaccess 文件可写,我们可以自动修改它.但似乎它不可写,因此我们在下方列出了您 .htaccess 文件 ...

  8. C#创建Excel文件并将数据导出到Excel文件

    工具原料: Windows 7,Visual Studio 2010, Microsoft Office 2007 创建解决方案 菜单>新建>项目>Windows窗体应用程序: 添加 ...

  9. Jxl创建Excel文件和解析Excel文件

    import java.io.File; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; im ...

随机推荐

  1. Go数组求和

    package main import "fmt" ]int func main() { a := [],,,,} var b int for index,value := ran ...

  2. 【搜索2】P1706 全排列问题

    题目描述 输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入输出格式 输入格式: n(1≤n≤9) 输出格式: 由1-n组成的所有不重复的数字序列, ...

  3. JavaScript基础知识(Math的方法)

    Math的方法 Math : 对象数据类型 : Math: {} 是window下的一个键值对: 属性名叫Math,属性值是一个对象 var obj = {a:1}; console.log(obj. ...

  4. php 一行代码解决二维数组去重

    array_unique($array, SORT_REGULAR);

  5. python连接服务器上传文件,后台执行命令

    上传文件 import os import paramikoimport logging from django.core.cache import cache from YunTai import ...

  6. Android的ViewPager的学习

    这篇博客是对慕课网上看到的视频里学习到的知识的一些记录,让自己能够加深理解.视频地址:http://www.imooc.com/learn/1116 在这个视频中,目标是实现类似微信的主界面之间的切换 ...

  7. 《PHP内核剖析 - FPM》

    一:概述 - FPM 定义 -  FPM(FastCGI Process Manager)是PHP FastCGI运行模式的一个进程管理器. -  FastCGI -  Web服务器(如:Nginx. ...

  8. 插值代码17个---MATLAB

    函数名 功能Language 求已知数据点的拉格朗日插值多项式Atken 求已知数据点的艾特肯插值多项式Newton 求已知数据点的均差形式的牛顿插值多项式Newtonforward 求已知数据点的前 ...

  9. kubernetes集群应用部署实例

    今天,我们将要带来入门hello world示例,它是一个web留言板应用,基于PHP+Redis的两层分布式架构的web应用,前端PHP web网站通过访问后端Redis数据库完成用户留言的查询和添 ...

  10. .net EF之CodeFirst代码先行(转)

    为了支持以设计为中心的开发流程,EF还更多地支持以代码为中心 (code-centric) ,我们称为代码优先的开发,代码优先的开发支持更加优美的开发流程,它允许你在不使用设计器或者定义一个 XML ...