Python 使用Pandas和Regex将文件名写入csv
如何使用Pandas将文件名列表写入csv文件中的列?我还希望正则表达式只保留文件名的一部分 对于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
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返回一个元素的变量列表,是的。谢谢很好!非常感谢。