18-09-06天津 关于Excel的一些操作
1 字符串分后后一个返回值是个list 2个以上就是字符串
a = '/sldj/fj/'
b ,c = a.strip('/').split('/')
print(b,c) # sldj fj
2关于os.listdir() 获取目录的文件按照字母排序
# 针对于一个目录下的文件 (图片等) 截图完成后进行按时间排序 项目暂时没用因为开始获取也得截图不移动永远是第一个
# DIR = "E:\\fund_data\\imgsss" #[ 'uRWblBVj.png', 'XldRO9Cs.png','YkDsf08z.png']
# # 注意,这里使用lambda表达式,将文件按照最后修改时间顺序升序排列
# os.path.getmtime() 函数是获取文件最后修改时间
# os.path.getctime() 函数是获取文件最后创建时间
# dir_list = os.listdir(DIR) #按照字母顺序排序
# dir_list = sorted(dir_list,key=lambda x: os.path.getctime(os.path.join(DIR,x)))
# print(dir_list) #按照创建的时间排序['YkDsf08z.png', 'uRWblBVj.png', 'XldRO9Cs.png']
def move_pic(fund_name):
#时间获取的昨天的时间并更换格式
now_time = datetime.datetime.now()
yesterday = now_time + datetime.timedelta(days=-1)
yesterday = yesterday.strftime('%Y%m%d')
newdir="E:\\fund_data\\"+fund_dir+"\\pic"+str(yesterday) #新目录是PIC+日期
path = "E:\\fund_data\\imgsss\\" #临时目录
dirs_pic = os.listdir(path) #把获取的图片名字按字母排序 生成一个文件排序的列表
#print(dirs_pic) []
#对以上获取按字母排序的目录文件列表排序 以是按照创建时间对文件排序
# oldfile_list=sorted(dirs_pic,key=lambda x: os.path.getctime(os.path.join(path,x
# )))
oldfile = path+oldfile_list[0] #路径+文件名
# print("1oldfile======================================",oldfile) #获取临时目录下的文件列表
# newfile = newdir+"\\"+fund_name+".jpg"
#新文件名字,bankname是传入的参数
#print(oldfile)
#print(newfile)
if os.path.exists(newfile): #必须先判断目标目录是否存在文件
os.remove(newfile)
os.rename(oldfile,newfile) 3关于glob.glob的用法比os 好用可以确定数据范围类
fs = glob.glob(r'c:\temp\*.xlsx')
fs.sort(key=lambda fn: os.path.getmtime(fn) if not os.path.isdir(fn) else 0)
newest_file = fs[-1]
""" import glob #glob模块用来查找文件目录和文件,常见的两个方法有glob.glob()和glob.iglob(),
# 可以和常用的find功能进行类比,glob支持*?[]这三种通配符
# 以下是林总推荐的
# fs = glob.glob(r'c:\temp\*.xlsx')
# fs = glob.glob(r'E:\南京培训资料2018-0813\*.docx')
# fs.sort(key=lambda fn: os.path.getmtime(fn) if not os.path.isdir(fn) else 0)
# newest_file = fs[0]
# print(newest_file)
# for i in fs:
# print(i) # 4 关于os.walk 获取路径 文件夹 文件名等
#os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
# top -- 是你所要遍历的目录的地址, 返回的是一个三元组(root,dirs,files)。
# root 所指的是当前正在遍历的这个文件夹的本身的地址
# dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
# files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录) # 第一种:imgss 中只有几张图片没有文件夹
# for i in os.walk(r"C:\Users\WY\Desktop\imgsss"):#
# # print(i)
# print("路径",i[0])
# print("目录",i[1]) #判断里面还有没有文件夹
# print("子文件",i[2])
# 路径 C:\Users\WY\Desktop\imgsss
# 目录 []
# 子文件 ['1MX7eWUF.png', 'dha61HkL.png', 'QtqSWMRl.png', 'Ry0k3cbF.png', 'WbExuoDC.png'] # 第二种:imgss 中只有几张图片和文件夹11(目录) # for i in os.walk(r"C:\Users\WY\Desktop\imgsss"):#
# print("路径",i[0])
# print("目录",i[1]) #判断里面还有没有文件夹 有就会递归操作循环出来
# print("子文件",i[2]) # 路径 C:\Users\WY\Desktop\imgsss
# 目录 ['11']
# 子文件 ['1MX7eWUF.png', 'dha61HkL.png', 'QtqSWMRl.png', 'Ry0k3cbF.png', 'WbExuoDC.png']
# 路径 C:\Users\WY\Desktop\imgsss\11
# 目录 []
# 子文件 ['新建 WinRAR ZIP 压缩文件.zip', '新建位图图像.bmp', '新建文本文档.txt'] # 第三种 三层以上所有路径+名字
# C:\Users\WY\Desktop\imgsss\11\3\4 4
# for i in os.walk(r"C:\Users\WY\Desktop\imgsss"):#
# for j in i[2]:
# a_f= i[0]+"\\"+ j
# print(a_f) # C:\Users\WY\AppData\Local\Programs\Python\Python36\python.exe E:/untitled1/Chatroom/app01/tests.py
# C:\Users\WY\Desktop\imgsss\1MX7eWUF.png
# C:\Users\WY\Desktop\imgsss\dha61HkL.png
# C:\Users\WY\Desktop\imgsss\QtqSWMRl.png
# C:\Users\WY\Desktop\imgsss\Ry0k3cbF.png
# C:\Users\WY\Desktop\imgsss\WbExuoDC.png
# C:\Users\WY\Desktop\imgsss\11\新建 WinRAR ZIP 压缩文件.zip
# C:\Users\WY\Desktop\imgsss\11\新建位图图像.bmp
# C:\Users\WY\Desktop\imgsss\11\新建文本文档.txt
# C:\Users\WY\Desktop\imgsss\11\3\新建 Microsoft Word 文档.docx
# C:\Users\WY\Desktop\imgsss\11\3\新建 WinRAR 压缩文件.rar
# C:\Users\WY\Desktop\imgsss\11\3\4 4\4.bmp
# C:\Users\WY\Desktop\imgsss\11\3\4 4\4.txt #5 获取Excel 中每个sheet # 获取每一张excel表的sheet名称 mypath_files (路径+文件名)
# import pandas as pd
def get_sheet(mypath):
df = pd.read_excel(mypath,None)
sheet_list = df.keys()
return sheet_list # 6 python的包安装的路径 和自动化设计器的包的添加??????????????
# python 包的地址:C:\Users\WY\AppData\Local\Programs\Python\Python36\Lib\site-packages
# 艺赛琪设计器 C:\ueba\plugin\Com.Isearch.Func.Python\Lib\site-packages #7 python 创建一个excel 表格 可以输入一些数据
from xlwt import Workbook
def create(name):
import xlwt
book = Workbook(encoding='utf-8') sheet1 = book.add_sheet('Sheet 1') sheet1.write(0,0,"我是第一行第一列")
sheet1.write(0,1,"我是第一行第二列") sheet1.write(1,0,"我是第2行第一列")
sheet1.write(1,1,"我是第2行第二列") # 保存Excel book.save('path/文件名称.xls')
# book.save('E:/fund_data/Excel_datas/测试2018-09-06/ww.xls')
# book.save('E:/fund_data/Excel_datas/测试2018-09-06/%s.xls'% 'ccc')#替换表的名字 %s 方法
book.save('E:/fund_data/Excel_datas/测试2018-09-06/{}.xls'.format(name) )#替换表的名字format方法
create("传参数") ====1创建一个当前时间的文件夹和在这个文件夹里写入一个自定义的Excel 文件===
1创建目录
def create_dir1(fund_dir):
now_time = datetime.datetime.now()
today = now_time + datetime.timedelta(days=0)
today = today.strftime('%Y-%m-%d')
newdir="E:\\fund_data\\"+fund_dir+"\\"+fund_dir+str(today)
if not os.path.exists(newdir):
os.makedirs(newdir)
print('====newdir====',newdir)
return newdir
def create_excel(fund_dir,fund_name):
newdir = create_dir1(fund_dir)
book = Workbook(encoding='utf-8')
sheet1 = book.add_sheet('Sheet 1')
#pycharm 写法(/) book.save('E:/fund_data/Excel_datas/测试2018-09-06/{}.xls'.format(name) )#替换表的名字format方法
#设计器的写法(\\) book.save(newdir+"\\{}.xls".format(fund_name))
book.save(newdir+"\\{}.xls".format(fund_name))
======2利用os.walk()来便利所有的当前路径+文件名并set去重=====================================
import pandas as pd
import os
import xlrd
# 递归获取文件名
xpath = r"C:\Users\WY\Desktop\imgsss"
xtype = "xls"
typedata = []
name = []
filename_list = []
raw_data = []
file_path = [] """
def collect_xls(list_collect, type1):
# 取得列表中所有的type文件
for each_element in list_collect:
if isinstance(each_element, list):
collect_xls(each_element, type1)
elif each_element.endswith(type1):
typedata.insert(0, each_element)
return typedata # 读取指定路径下所有文件夹中的xls文件
def read_xls():
# 遍历路径文件夹
for file in os.walk(xpath):#1返回当前文件路径 2目录(文件夹)3当前文件路径下的文件的列表
for each_list in file[2]:
file_path = file[0] + "\\" + each_list
# os.walk()函数返回三个参数:路径,子文件夹,路径下的文件,利用字符串拼接file[0]和file[2]得到文件的路径
print("=file_path=",type(file_path),file_path) #str url+xx.pbg
name.insert(0, file_path)
print("==name==",type(name),name) #str list
all_xls = collect_xls(name, xtype)
print(all_xls,'----------------')
all_xls = list(set(all_xls))
print('+++++++++++all_xls',type(all_xls),all_xls) #list for filename in all_xls:
if '2018-9' in filename:
filename_list.append(filename) # print('非本次所需文件')
print(filename_list)
return filename_list read_xls() """ # path = 'X:\\GS\\CNGS-WQ\\Logistics\\Common Logistic\\Packing list\\2018 packing list\\'
# traverse(path) =======3获取每一张excel表的sheet名称====================
mypath = "C:\\Users\\WY\\Desktop\\imgsss\\00000000000000000000000000000.xls"
def get_sheet(mypath):
df = pd.read_excel(mypath, None)
sheet_list = df.keys()
print(sheet_list) #odict_keys(['Sheet1', 'Sheet2', 'Sheet3', 'Sheet4'])
return sheet_list
get_sheet(mypath) ======4写入数据====================
def write_data(li, numa):
for x in li:
wb = xw.Book(r'C:/Users/jiang/Desktop/测试.xlsx')
sht = wb.sheets[0]
sht.range('A{0}'.format(numa)).value = x
wb.save()
numa += 1 print('测试*******', numa)
print('测试状态:', numa)
return numa
18-09-06天津 关于Excel的一些操作的更多相关文章
- NVIDIA-docker报错:docker-ce (= 5:18.09.0~3-0~ubuntu-xenial) but 18.06.0~ce~3-0~ubuntu is to be installed
报错: The following packages have unmet dependencies: nvidia-docker2 : Depends: docker-ce (= 5:18.09.0 ...
- Heartbeat took longer than "00:00:01" at "09/06/2019 05:08:08 +00:00".
.netcore在k8s+docker+linux,部署后,偶尔会报这样的警告 Warn:Microsoft.AspNetCore.Server.KestrelHeartbeat took longe ...
- CentOS 7.5在线安装Docker 18.09.3
1.安装依赖包 yum -y install yum-utils device-mapper-persistent-data lvm2 2.安装docker yum-config-manager -- ...
- Problem: package docker-ce-3:18.09.9-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
安装Docker时报错 Problem: package docker-ce-3:18.09.9-3.el7.x86_64 requires containerd.io >= 1.2.2-3, ...
- Python—对Excel进行读写操作
学习Python的过程中,我们会遇到Excel的读写问题.通过搜索得知,我们可以使用xlwt module将数据写入Excel表格,使用xlrd module从Excel读取数据.下面介绍如何实现使用 ...
- .net core下对于Excel的一些操作及使用
原文:.net core下对于Excel的一些操作及使用 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.cs ...
- 如何在没有安装微软Excel环境下操作Excel文件?
在以前接触的项目中,由于很多客户对微软Excel的操作比较熟练,客户经常要求系统支持对Excel文件的读写.用.NET传统方法对Excel进行读写时,往往会涉及到不同版本兼容的问题,导致在本地测试一切 ...
- 利用C#实现对excel的写操作
一.COM interop 首先我们要了解下何为COM Interop,它是一种服务,可以使.NET Framework对象能够与COM对象通信.Visual Studio .NET 通过引入面向公共 ...
- NET平台下的Excel编程|C#操作Excel|Application和ApplicationClass的联系和区别
NET平台下的Excel编程|C#操作Excel|Application和ApplicationClass的联系和区别 1. Interop含义Interop是互操作的含义.Microsoft.Off ...
随机推荐
- 添加“Git Bash Here”到右键菜单
1.按键盘上的组合键[Win+R]把运行调出来 2.在运行中输入[regedit]再点击确定. 3.定位到HKEY_CLASSES_ROOT\Directory\Background\shell(如果 ...
- ggplot的boxplot添加显著性 | Add P-values and Significance Levels to ggplots | 方差分析
参考:Add P-values and Significance Levels toggplots 多组比较,挑选感兴趣的显示显著性. data("ToothGrowth") he ...
- JVM垃圾回收(二)- Minor GC vs Major GC vs Full GC
Minor GC vs Major GC vs Full GC 垃圾回收的活动会清理对内存中的不同区域,这些事件一般被称为Minor,Major以及Full GC events.本章我们会讨论这些清理 ...
- java中的默认类型+spring
默认引用类型 Integer Character String(包装类)... private Integer age ; 默认是null 默认基本类型 int char string.privit ...
- springboot killed springboot 无故停止运行解决办法
测试环境的服务部署在阿里云服务器上,运行一段时间总是自动宕掉,在配置文件里加上内存溢出配置,也不能打印出相关日志,一直找不出原因.今天在网上:http://www.cnblogs.com/chener ...
- python-文件读写
python对文件的操作对文件操作的步骤:1.打开文件2.读写文件3.关闭文件 一.读取文件的方法有三种:read(),readline(),readlines()f.readline() #每次读出 ...
- Python3爬虫系列:理论+实验+爬取妹子图实战
Github: https://github.com/wangy8961/python3-concurrency-pics-02 ,欢迎star 爬虫系列: (1) 理论 Python3爬虫系列01 ...
- linux所有命令不能用显示-bash: ls: command not found
所有的命令都显示找不到了,原因是修改了/etc/profile造成的 解决方法 1.修正属性文件中的错误 /usr/bin/vi /etc/profile 2.生效属性文件 source /etc/p ...
- 【算法】祭奠spfa 最短路算法dijspfa
题目链接 本题解来源 其他链接 卡spfa的数据组 题解堆优化的dijkstra 题解spfa讲解 来自以上题解的图片来自常暗踏阴 使用前向星链表存图 直接用队列优化spfa struct cmp { ...
- 20175212童皓桢 Java实验二-面向对象程序设计实验报告
20175212童皓桢 Java实验二-面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设 ...