【发布时间】:2017-02-06 18:25:25
【问题描述】:
我有一个名为“DataFiles”的文件夹,其中有如下文件: 2016-04-26.csv、2016-04-27.csv、2016-05-12.csv... 我想压缩属于同一月份的 csv 文件... 为此我尝试了以下代码:
import datetime
import os
import zipfile
yearP= None
monthP = None
for csvfiles in os.listdir("DataFiles"):
csvname, formata = csvfiles.split(".")
year, month, date = csvname.split("-")
if (yearP==year and monthP == month):
zip = zipfile.ZipFile('%s.zip' %monthyear , 'a')
zip.write('%s.csv' %csvname )
yearP= year
monthP = month
else:
zip = zipfile.ZipFile('%s.zip' %monthyear , 'a')
zip.write('%s.csv' %csvname )
yearP= year
monthP = month
但由于不是按排序顺序返回异常结果。我想根据月份压缩并将压缩文件命名为相应的月份年份。
【问题讨论】:
-
有多少个
.csvs?您可以对它们进行排序,按月分区,然后压缩每个分区。 -
20多个@erip
-
按日期对它们进行排序,然后将其写入相应的压缩文件中
-
不按排序顺序是什么意思?究竟是什么问题?
-
@martineau 按顺序考虑你的月份
04, 05, 04。