我有一个名为“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
但由于不按排序顺序,它返回不寻常的结果。我想根据月份压缩,并将压缩后的文件命名为相应的monthyear。你知道吗
因为您的文件是
YYYY-MM-DD
格式的,所以您可以按字典顺序对它们进行排序。你知道吗替换
与
对于大量的.csv文件,这可能变得不太容易处理,您可能需要重新考虑您的算法,但对于少量的文件,这是可以的。你知道吗
相关问题 更多 >
编程相关推荐