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的一些操作的更多相关文章

  1. 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 ...

  2. 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 ...

  3. CentOS 7.5在线安装Docker 18.09.3

    1.安装依赖包 yum -y install yum-utils device-mapper-persistent-data lvm2 2.安装docker yum-config-manager -- ...

  4. 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, ...

  5. Python—对Excel进行读写操作

    学习Python的过程中,我们会遇到Excel的读写问题.通过搜索得知,我们可以使用xlwt module将数据写入Excel表格,使用xlrd module从Excel读取数据.下面介绍如何实现使用 ...

  6. .net core下对于Excel的一些操作及使用

    原文:.net core下对于Excel的一些操作及使用 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.cs ...

  7. 如何在没有安装微软Excel环境下操作Excel文件?

    在以前接触的项目中,由于很多客户对微软Excel的操作比较熟练,客户经常要求系统支持对Excel文件的读写.用.NET传统方法对Excel进行读写时,往往会涉及到不同版本兼容的问题,导致在本地测试一切 ...

  8. 利用C#实现对excel的写操作

    一.COM interop 首先我们要了解下何为COM Interop,它是一种服务,可以使.NET Framework对象能够与COM对象通信.Visual Studio .NET 通过引入面向公共 ...

  9. NET平台下的Excel编程|C#操作Excel|Application和ApplicationClass的联系和区别

    NET平台下的Excel编程|C#操作Excel|Application和ApplicationClass的联系和区别 1. Interop含义Interop是互操作的含义.Microsoft.Off ...

随机推荐

  1. Spring MVC 返回Json数据环境记录

    Spring 版本 Spring4.3.18 Json包  jackson-annotations-2.9.8.jar jackson-core-2.9.8.jar           jackson ...

  2. 在Vue项目中 选择图片并预览

    最近开始使用vue做项目 在这个过程中,碰到了大多数做前端肯定经历的一个问题,就是文件上传预览 花了点时间解决,因此分享一下预览功能的解决方案 页面: <div class="sele ...

  3. scikit_learn lasso详解

    Lasso 回归 l1 正则化 The Lasso 是估计稀疏系数的线性模型. 它在一些情况下是有用的,因为它倾向于使用具有较少参数值的情况,有效地减少给定解决方案所依赖变量的数量. 因此,Lasso ...

  4. GIS开发 图形常见算法

    摘录:OSGeo中国中心 http://www.osgeo.cn/post/ae457 计算机的出现使得很多原本十分繁琐的工作得以大幅度简化,但是也有一些在人们直观看来很容易的问题却需要拿出一套并不简 ...

  5. MySQL数据库(2)

    上一篇我们讲述过MySQL创建数据库,数据表的内容,其中涉及到了几个约束: NOT NULL   非空约束 PRIMARY KEY   主键约束 UNIQUE KEY    唯一约束 其实还有两个约束 ...

  6. os.path官方文档(附翻译)

    This module implements some useful functions on pathnames. To read or write files see open(), and fo ...

  7. 关于node_js的比较

    node_js的比较是我自己初学遇到的第一个绕脑的事情. 在比较的函数多了之后,一些函数的调用和变量提升, 搞得自己头晕,有时候函数是没有返回值的,自己还在 用变量值去比较,实际上却是undefine ...

  8. setTimeout代替setInterval的写法以及setInterval的弊端以及越来越快的解决办法

    平常经常遇到的一个问题,很多人想间隔时间执行一些事件的时候,第一时间就会想到用setInterval,但是setInterval村子啊不少弊端哦. 弊端1:setInterval会无视错误代码,即使代 ...

  9. ASP.NET 文件上传的实现(Upload)

    1.最近应项目开发的需求要实现附件的异步上传和下载. 2.上传:文件上传到指定的路径下,并返回上传文件的信息给前端界面,如:文件的图标.上传的文件名.文件的大小. 3.上传后,在前端界面上显示上传的文 ...

  10. java第7次作业

    interface Pet{ public String getName() ; public String getColor() ; public int getAge() ; } class Ca ...