我正在尝试编写一个python脚本来转换一个.asc文件的文件夹(每年365个文件在不同的文件夹中按年份组织),文件名中的yearmonthdate改为yearjuliandate,而julian日期需要是3位数(即1=001)。 它们的格式是:ETos19810101.asc。 我希望它们是:ETos1981001.asc
如何用Python编写这个文件,在这里我可以迭代每个文件并将其转换为正确的儒略日?在
我正在尝试编写一个Python脚本来转换一个.asc文件的文件夹(每年365个文件在不同的文件夹中按年份组织),文件名中的yearmonthdate改为yearjuliandate,而julian日期需要是3位数(即1=001)。在
ETos19810101.asc
ETos1981001.asc
如何用Python编写这个文件,在这里我可以迭代每个文件并将其转换为正确的儒略日?在
到目前为止,我有这个:
import os.path, os, glob
for filename in glob.glob(filepath + "/*.asc"):
jdate = '%03d' %doy #creates 3 digit julian date
doy = doy + 1
filename.replace(int[-8:-4], jdate + 1)
在处理日期时,应该使用^{} module 。用
strptime
解析日期字符串。没有返回儒略日期的函数,但创建儒略日期很容易:使用}以及各种
'%j specifier
以及datetime.strptime
和{os.path
命令:你可能需要一点处理,并根据你的路径进行调整,但这是一般原则。在
给定如下文件名(可以使用
os.walk
迭代文件系统)首先,必须拆分文件名以获取每个重要部分:
^{pr2}$然后可以解析日期:
现在您可以将所有内容连接在一起(
%Y%j
按照您想要的方式格式化日期):最后重命名文件:
请注意,如果
newfilename
已经存在,最后一条指令将失败。 要解决此问题,必须删除该文件(如果存在):相关问题 更多 >
编程相关推荐