【发布时间】:2016-02-03 21:10:18
【问题描述】:
我有一个包含大量文件路径的文本文件 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']]
或将其保存为熊猫系列。
regex 有什么办法可以得到我想要的东西!?
【问题讨论】:
-
你说输出不是你所期望的,但我没有看到你的代码产生任何输出。
-
textfile.read()将文件的全部内容作为一个长字符串返回。for line in filetext循环遍历每个字符。 -
@john-gordon 确切地说,我得到了每个字符串。而且 readline() 又给了我第一行字符的字符串