1 #!/usr/local/bin/python

2 #coding=UTF-8

3

4 importos5 importcsv as csv6 importre7 importshutil8 importos.path9 importdatetime10 importtime12 importgzip13

14

15 csv.field_size_limit(1000000)16

17

18

19

20

21

22 #输入:

23 #timestr:要创建的数据文件的时间

24 #granulityPeriods:时间粒度

25 #oridir:原始csv文件的存放目录

26 # 文件名为PM201310271604+080024A20131027.1545+0800-20131027.1600+0800_101_Carrier_-_1.xml

27 #outputdir:修改后csv文件的输出目录,格式示例为'D:/OMC_DATA/HW/GSM/OMC1/TIL-HBSC-020/PM/DECODE/'

28

29 defztetd15data(timestr,granulityPeriods,oridir,outputdir):30

31 outpath =outputdir.strip()32

33 if notos.path.exists(outpath):34 os.makedirs(outpath)35

36

37

38 createday = datetime.datetime.strptime(timestr, '%Y-%m-%d %H:%M:%S')39 #createtime

40 createtime = createday.strftime('%Y%m%d%H%M')41 delta = datetime.timedelta(minutes=granulityPeriods)42 #createtime

43 #文件名开始时间

44 starttime = createday.strftime('%Y%m%d.%H%M')45 #csv文件中collecttime:201204211100

46

47

48 createday = createday +delta49

50 #文件名中endtime

51

52 endtime = createday.strftime('%Y%m%d.%H%M')53 #csv文件名中endtime

54 modifycollecttime = createday.strftime('%Y%m%d%H%M')55

56 newfilenametime = starttime+"+0800-"+endtime+"+0800"

57

58

59

60 find_file=re.compile(r".xml$")61 for root ,dirs,files inos.walk(oridir):62

63 for file infiles:64 iffind_file.search(file):65 filename = "%s"%(file)66 inputpath = "%s"%(root+'/'+filename)67 #inputpath = oridir+'/'+filename

68 printinputpath69 #wangfanfan

70 printfilename71 fileprefix=filename[0:22]72

73 filesuffix=filename[59:-4]74 printfileprefix75 printfilesuffix76 #wangfanfan

77

78 outfile = fileprefix+newfilenametime +filesuffix79 printoutfile80 outputfile = outputdir+"/"+outfile+".xml"

81 printoutputfile

#复制文件82 shutil.copyfile(inputpath, outputfile)83

84          #将原始xml文件压缩后删除

85 f_in = open(outputfile,'rb')86 targetname=outputfile+".gz"

87 f_out = gzip.open(targetname,'wb')88 f_out.writelines(f_in)89 f_out.close()90 f_in.close()91

92 os.remove(outputfile)93

94

95

96

97

98

99

100

101 #读取配置的csv文件

102 defreadpath(oripath):103

104 pathlist =[]105

106 fp = open(oripath,'r')107 for line infp:108 printline109 line = line.strip('\n')110 paths =[]111 paths = line.split(',')112 pathdic ={}113 pathdic["ori"] =paths[0]114 pathdic["target"] = paths[1]115 if not os.path.exists(paths[1]):116 os.makedirs(paths[1])117 pathlist.append(pathdic)118

119 returnpathlist120

121

122

123

124

125

126

127

128

129

130 tdoripath = "/tomcat/***/CREATE_DATA/omcdatapathTDPM.csv"

131

132

133

134 defrunBySystemTime():135

136

137 start =time.clock()138

139 nowtime = time.strftime("%Y-%m-%d %H:%M:%S")140 timestr =nowtime141

142 #gsmpathlist = readpath(tdoripath)

143 tdpathlist =readpath(tdoripath)144

145 granulityPeriods = 15

146

147 for j inrange(len(tdpathlist)):148 path ={}149 path =tdpathlist[j]150 ztetd15data(timestr,granulityPeriods,path.get("ori"),path.get("target"))151

152

153

154 finish =time.clock()155

156 print "finished,couse:"

157 print (finish-start)158 #time.sleep(60*60)

159

160

161

162 defrunByDuration(begintime,endtime,durantion):163

164

165 printbegintime166

167 while begintime <=endtime:168

169 timestr =begin_time;170

171 pathlist =readpath(oripath)172

173 for j inrange(len(pathlist)):174 path ={}175 path =pathlist[j]176 ztegsm60data(timestr,granulityPeriods,path.get("ori"),path.get("target"))177 daytime = datetime.datetime.strptime(begintime, '%Y-%m-%d %H:%M:%S')178 delta = datetime.timedelta(minutes=durantion)179 daytime = daytime +delta180 begintime = daytime.strftime('%Y-%m-%d %H:%M:%S')181 else:182 print "end of while";183

184

185

186

188 granulityPeriods = 60

189 #oripath = "C:/Users/Administrator/Desktop/python_wff/omcdatapathTDPM.csv"

190 #开始处理时间

191 begin_time = '2013-02-16 01:00:00'

192 #结束处理时间

193 end_time = '2013-02-17 01:00:00'

194

195 model = 2

196

197 if model == 1:198 runByDuration(begin_time,end_time,15)199 elif model == 2:200 runBySystemTime()201 else:202 print "wrong args!"

203

204

读取csv文件的代码和上面类似。

python 解压文件 重名_python小试身手-文件重命名,文件复制和压缩(.gz) - 铁匠铺的小铁匠...相关推荐

  1. python解压版怎么安装_python 解压版 zip file 安装

    python 解压版 zip file 安装 Python Releases for Windows 找到最新稳定版本的 "Download Windows x86-64 embeddabl ...

  2. python解压文件中哪个是安装包_python解压文件格式的基本方法

    应对多种压缩包格式的python库:patool.如果平时只用基本的解压.打包等操作,也不想详细了解各种压缩格式对应的python库,patool应该是个不错的选择. patool库支持的格式包括: ...

  3. python解压7z文件_Python调用7zip命令实现文件批量解压

    Python调用7zip命令实现文件批量解压 1.输入压缩文件所在的路径 2.可以在代码中修改解压到的文件路径和所需要解压的类型,列入,解压文件夹下面所有的mp4格式的文件 3.cmd 指的就是Pyt ...

  4. python解压zip文件_python-29 python解压压缩包的几种方法

    这里讨论使用Python解压例如以下五种压缩文件: .gz .tar .tgz .zip .rar 简单介绍 gz: 即gzip.通常仅仅能压缩一个文件.与tar结合起来就能够实现先打包,再压缩. t ...

  5. python解压文件_使用Python实现文件压缩和解压

    大家可能都熟悉.zip格式的文件.它可以把多个文件,压缩成一个文件.这在网络上传输时很有用,而且节省硬盘空间. 接下来,我们使用Python实现压缩和解压. 读取ZIP文件信息 要读取ZIP文件的内容 ...

  6. python解压打开文件过多_让Python在后台自动解压各种压缩文件!

    一.需求描述 编写一个Python程序,每次下载压缩包形式的文件后,自动将内部文件解压到当前文件夹后将压缩包删除,通过本案例可以学到的知识点: os 模块综合应用 glob 模块综合应用 利用 gzi ...

  7. Python 解压rar类型文件

    Python 解压rar类型文件 一.前提准备 1. pip install rarfile 2. 在官网下载 WinRAR安装包 ,安装完毕后在安装目录即可找到一个名为 "UnRAR.ex ...

  8. python 解压zip 慢_Python解压ZIP、RAR等常用压缩格式的方法

    解压大杀器 首先祭出可以应对多种压缩包格式的python库:patool.如果平时只用基本的解压.打包等操作,也不想详细了解各种压缩格式对应的python库,patool应该是个不错的选择. pato ...

  9. 用Python解压tgz文件

    用Python解压tgz文件 本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 Unported许可协议进行许可.允许非商业转载,但应注明作者及出处. 作者:xialulee 最初发布于:2 ...

最新文章

  1. Python20-Day05
  2. 十六.监控系统cpu.内存,磁盘等,自动报警,发送邮件
  3. python上机实验报告读取文件_Python程序设计实验报告:实验八 文件
  4. 禾川触摸屏编程软件_汇川PLC编程PLC代写程序
  5. 企业级rancher搭建Kubernetes(采用rancher管理平台搭建k8s)
  6. 元祖python_python---tuple元祖
  7. bootstraptable导出excel独立使用_使用 EasyPOI 优雅导出Excel模板数据(含图片)
  8. 容器技术:华为云如何帮助企业落地Kubernetes
  9. 我的Linux生涯之Mysql:Day01[Mysql基本使用]例
  10. 解决无线路由器无法进行账号认证上网的问题
  11. 逆向Mac版WPS(解除版本过期限制)
  12. 基于MPC5748G的以太网展板通信模块解析
  13. Emscripten 单词_人教版英语七年级下册单词、课文及音频汇总
  14. 电路设计_STM8S003F3P6 AWUADC使用小结
  15. 全球与中国抗口腔粘膜炎药物市场深度研究分析报告
  16. Gap year | 最好金龟换酒
  17. 九、路由原理与路由协议
  18. 《实用C++》第10课:if 语句实现关系运算
  19. 在软件开发中如何将看板方法与 Scrum 集合使用?
  20. 光纤收发器的原理及应用_光纤收发器工作原理 - 光纤收发器工作原理及技术详解(分类,使用方法及接线图)...

热门文章

  1. 关系数据模型(一)——关系模型
  2. 2023武汉科技大学计算机考研信息汇总
  3. HTML连载86-添加视频、伸缩布局
  4. 【生态系统服务】构建生态安全格局--权衡与协同动态分析--多情景模拟预测--社会价值评估
  5. xml教程之dtd约束
  6. 这5款app,好用到让你颤抖!
  7. Unity升级64位
  8. 使用Camunda流程引擎,关于包容性网关(Inclusive Gateway)使用
  9. Instrumentation类方法简单介绍
  10. 【自然语言处理(NLP)】基于循环神经网络实现情感分类