使用re.findall在多个路径文件中使用循环查找数字。然而,有些文件包含其他数字或不包含'20'婴儿他们。想知道如何获得相应年份的文件。2014年或2020年。
下面是一些文件名的示例:
ts20individual25countaveragemedianbypostcode.csv
taxstats2016individual28countaveragemedianbypostcode.csv
然后我想把它添加到一个列表中
dfyear = []
for f in csv_files:
# read the csv file
df = pd.read_csv(f)
x = [int(s) for s in re.findall(r'[\d]+', f)]
dfyear.append(x)
4条答案
按热度按时间pepwfjgg1#
看起来year值的前缀是 “ts” 或 “taxstats”,所以我会使用这个。
下面是一个例子,其中 m 是匹配值的列表。
hjqgdpho2#
如果所有年份都以
20
开头,并以两位数继续,则可以使用正则表达式或者-您是否也希望以
19
开头的年份nvbavucw3#
您可以使用列表解析来逐步过滤和Map文件名:
结果是:
c3frrgcw4#