使用Pandas和Regex将文件名写入csv

时间:2015-05-24 13:41:03

标签: python regex python-2.7 pandas

如何使用Pandas将文件名列表写入csv文件中的列?我还希望Regex只保留文件名的一部分。

使用csv模块,我这样做了:

import os
import re
import csv

with open("file.csv","w") as write_csv:
    fieldnames = ["col1", "col2"]
    wr_header = csv.DictWriter(write_csv, fieldnames = fieldnames)
    wr_header.writeheader()
    wr_data = csv.writer(write_csv, delimiter = "\n")
    folder = os.listdir("/User/folder")
    for filename in folder:
        filesnippet = re.findall("snippet_(.{12})", filename)
        wr_data.writerow(filesnippet)

1 个答案:

答案 0 :(得分:2)

Pandas数据框可以将列表作为构造函数。真正的问题是你在哪里做正则表达式的工作。在这里,我使用pandas字符串方法extract,它返回每行的捕获组。

pd.Series(os.listdir(directory)).str.extract(regex).to_csv(filename)

请参阅http://pandas.pydata.org/pandas-docs/version/0.15.2/generated/pandas.core.strings.StringMethods.extract.html