我有一个文本文件,其中包含很多文件路径file.txt:
C:\data\AS\WO\AS_WOP_1PPPPPP20070506.bin
C:\data\AS\WO\AS_WOP_1PPPPPP20070606.bin
C:\data\AS\WO\AS_WOP_1PPPPPP20070708.bin
C:\data\AS\WO\AS_WOP_1PPPPPP20070808.bin
...
我用 Regex 从路径中提取日期所做的工作:
import re
textfile = open('file.txt', 'r')
filetext = textfile.read()
textfile.close()
data = []
for line in filetext:
matches = re.search("AS_[A-Z]{3}_(.{7})([0-9]{4})([0-9]{2})([0-9]{2})", line)
data.append(line)
它没有给我想要的东西。
我的输出应该是这样的:
year month
2007 05
2007 06
2007 07
2007 08
然后将其保存为列表列表:
[['2007', '5'], ['2007', '6'], ['2007', '7'], ['2007', '8']]
或将其保存为Pandas 系列。
有什么方法可以用 regex
得到我想要的吗!?
最佳答案
您可以将您的正则表达式简化为:
/(....)(..)..\.bin$/
第 1 组将包含年份,而第 2 组将包含月份。我假设格式适用于整个文件。
现在,.
代表任何 字符,\.
代表“点”或文字.
。 $
表示在字符串的末尾。
因此,我在行尾匹配 .bin
并省略日,只对年和月进行分组。
关于python - 使用正则表达式提取文件路径并将其保存在python中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33503806/