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 ...
随机推荐
- Spring MVC 返回Json数据环境记录
Spring 版本 Spring4.3.18 Json包 jackson-annotations-2.9.8.jar jackson-core-2.9.8.jar jackson ...
- 在Vue项目中 选择图片并预览
最近开始使用vue做项目 在这个过程中,碰到了大多数做前端肯定经历的一个问题,就是文件上传预览 花了点时间解决,因此分享一下预览功能的解决方案 页面: <div class="sele ...
- scikit_learn lasso详解
Lasso 回归 l1 正则化 The Lasso 是估计稀疏系数的线性模型. 它在一些情况下是有用的,因为它倾向于使用具有较少参数值的情况,有效地减少给定解决方案所依赖变量的数量. 因此,Lasso ...
- GIS开发 图形常见算法
摘录:OSGeo中国中心 http://www.osgeo.cn/post/ae457 计算机的出现使得很多原本十分繁琐的工作得以大幅度简化,但是也有一些在人们直观看来很容易的问题却需要拿出一套并不简 ...
- MySQL数据库(2)
上一篇我们讲述过MySQL创建数据库,数据表的内容,其中涉及到了几个约束: NOT NULL 非空约束 PRIMARY KEY 主键约束 UNIQUE KEY 唯一约束 其实还有两个约束 ...
- os.path官方文档(附翻译)
This module implements some useful functions on pathnames. To read or write files see open(), and fo ...
- 关于node_js的比较
node_js的比较是我自己初学遇到的第一个绕脑的事情. 在比较的函数多了之后,一些函数的调用和变量提升, 搞得自己头晕,有时候函数是没有返回值的,自己还在 用变量值去比较,实际上却是undefine ...
- setTimeout代替setInterval的写法以及setInterval的弊端以及越来越快的解决办法
平常经常遇到的一个问题,很多人想间隔时间执行一些事件的时候,第一时间就会想到用setInterval,但是setInterval村子啊不少弊端哦. 弊端1:setInterval会无视错误代码,即使代 ...
- ASP.NET 文件上传的实现(Upload)
1.最近应项目开发的需求要实现附件的异步上传和下载. 2.上传:文件上传到指定的路径下,并返回上传文件的信息给前端界面,如:文件的图标.上传的文件名.文件的大小. 3.上传后,在前端界面上显示上传的文 ...
- java第7次作业
interface Pet{ public String getName() ; public String getColor() ; public int getAge() ; } class Ca ...