gpt4 book ai didi

python - 从一行 SPSS 语法中提取字符串并转换为日期

转载 作者:太空宇宙 更新时间:2023-11-03 14:50:06 24 4
gpt4 key购买 nike

我的语法中的文件句柄引用了一个文件夹,其中包含 YYYYDDMM 格式的版本号。例如,下面引用的 “v20170215”:

file handle WORKING/name='ROOT\Uploads\20141001_20150930 v20170215'.

文件句柄的版本部分会根据需要处理的新数据定期更新。文件句柄总是以“v”结尾,后跟 YYYYMMDD 日期。

如何从文件句柄中自动提取最后一个“YYYYMMDD”字符串(例如“20170215”)并从中创建一个日期变量?

如果日期是数据中的字符串变量,我可以使用如下内容:

* Extract data, month, and year.
compute day = number(char.substr(...),F2.0).
compute month = number(char.substr(...),F2.0).
compute year = number(char.substr(...),F4.0).

* Compute date variable.
compute Version = date.mdy(month,day,year).
formats Version (adate10).
execute.

但考虑到它是我需要解析的一行语法,我想我应该看看 Python,但我不知道如何解决这个问题。

最佳答案

我假设您无法从创建更新语法的同一来源获取更新引用作为数据(可能是更简单的解决方案)。
定义句柄后,您可以通过以下方式将该定义提取到数据中:

dataset declare  myhandle.
oms/select tables/if commands=['Show'] subtypes=['File Handles']/destination format=SAV outfile='myhandle'.
show handles.
omsend.
dataset activate myhandle.

这将打开一个名为 myhandle 的数据集,其中变量 Directory 将包含句柄中定义的文件的完整路径。从中你只需要提取你需要的字符串 - 看看这是否适合你:

compute Directory=char.substr(Directory,char.index(Directory," v")+2,10).

现在您有了所需的字符串,您可以继续将其转换为日期并将其匹配到您的数据中。

关于python - 从一行 SPSS 语法中提取字符串并转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46508946/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com