我有一个csv文件目录,例如
c:\data
将包含以下文件
ext-FLA-1.csv
ext-KDY-1.csv
etx-EIR-1.csv
我想提取一个只包含每个文件的大写字母的数组。
files = glob.glob('c:\\data/*.csv')
会给我一个包含所有csv文件的数组。但是我希望文件数组只包含
files = ['FLA','KDY','EIR']
答案 0 :(得分:0)
您可以使用正则表达式:
import re
import os
files = [re.findall(r'[A-Z]+', f)[0] for f in os.listdir('c:\\data') if re.search(r'.csv$', f)]
或者如果您只需要大写字母:
^[a-zA-Z][a-zA-Z]*[ -][a-zA-Z]*[a-zA-Z]$|^[a-zA-Z][a-zA-Z]*([a-zA-Z]|\.)$