Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用Pandas和Regex将文件名写入csv_Python_Regex_Python 2.7_Pandas - Fatal编程技术网

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

Python 使用Pandas和Regex将文件名写入csv,python,regex,python-2.7,pandas,Python,Regex,Python 2.7,Pandas,如何使用Pandas将文件名列表写入csv文件中的列?我还希望正则表达式只保留文件名的一部分 对于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

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

对于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)

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

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

请参见

您能否指定您的代码是否正常工作以及如果不正常会引发哪些错误?@WajdiFarhani更重要的是,我不知道如何工作。像这样的<代码>文件夹=os.listdir(“/User/folder”);df=数据帧(文件夹);对于df中的文件名:isin_source=re.findall(“filesnippet_u1;(.{12})”,filename;filename.to_csv(“file.csv”)您是否希望
findall
返回包含可变元素数的列表?或者我们可以假设它总是找到一个匹配项吗?Findall返回一个元素的变量列表,是的。谢谢很好!非常感谢。