数据整理:
用Python的os模块进行遍历文件夹,
用string.encode("utf-8")解决编码不能写入的问题
用Python的csv模块写入csv文件
#!/usr/bin python2.7
# coding=utf-8
import os.path
import csv
with open('/home/lvsolo/下载/att_faces/list.csv', 'a+') as csvfile:
fieldnames = ['path', 'label']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
BASE_PATH = u"/home/lvsolo/下载/att_faces"
SEPARATOR = ";"
for dirname, dirnames, filenames in os.walk(BASE_PATH):
for subdirname in dirnames:
subject_path = os.path.join(dirname, subdirname)
for filename in os.listdir(subject_path):
abs_path = ("%s/%s" % (subject_path, filename)).encode('utf-8')
if subject_path[-2] == 's':
label = int(subject_path[-1])
else:
ss=subject_path[-2:]
label = int(subject_path[-2:])
with open('/home/lvsolo/下载/att_faces/list.csv', 'a+') as csvfile:
fieldnames = ['path', 'label']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writerow({'path': abs_path, 'label': label})