我的问题与以下内容非常相似:How to get a Substring from list of file names。我是Python的新手,并且更喜欢Python(或R)的类似解决方案。我想查看一个目录并从每个适用的文件名中提取一个特定的子字符串,并将其输出为矢量(首选),列表或数组。例如,假设我有以下文件名目录:从Python或R中的文件名列表中提取子字符串
data_ABC_48P.txt
data_DEF_48P.txt
data_GHI_48P.txt
other_96.txt
another_98.txt
我想引用目录和提取下列作为字符向量(对于R中使用)或列表:
"ABC", "DEF", "GHI"
我试过如下:
from os import listdir
from os.path import isfile, join
files = [ f for f in listdir(path) if isfile(join(path,f)) ]
import re
m = re.search('data_(.+?)_48P', files)
,但我得到了以下错误:
TypeError: expected string or buffer
files
是type
list
In [10]: type(files)
Out[10]: list
即使我最终想这个特征向量作为输入R代码里面,我们试图给我们所有的“脚本”的过渡到Python和使用[R仅用于数据分析,所以Python解决方案会很棒。我也使用Ubuntu,所以cmd行或bash脚本解决方案也可以工作。提前致谢!
@AvinashRaj感谢名单了很多!!!!!! – vks 2014-12-05 17:27:34