def save2csv(file_name=None, header=None, data=None):
"""
保存成CSV格式文件,方便Excel直接打开
:param file_name: 保存的文件名
:param header: 表头,每一列的名字
:param data: 具体填充数据
:return:
"""
if file_name is None or isinstance(file_name, basestring) is False:
raise Exception('保存CSV文件名不能为空,并且必须为字符串类型')
if file_name.endswith('.csv') is False:
file_name += '.csv'
with open(file_name,'w') as file_obj:
# file_obj = open(file_name, 'wb')
file_obj.write(codecs.BOM_UTF8) # 防止乱码
writer = csv.writer(file_obj,dialect='excel')
writer.writerow(data)
if data is None or isinstance(data, (tuple, list)) is False:
raise Exception('保存CSV文件失败,数据为空或者不是数据类型')
if header is not None and isinstance(header, (tuple, list)) is True:
writer.writerow(header)
def main():
a = list([path for path in glob.glob('F:/image/front/*.jpg')])
for b in a:
img,landmarks = read_im_and_landmarks(b)
c = getdis(landmarks)
save2csv(file_name='face',data=c)
if __name__ == '__main__':
main()
说明一下,主要是想将getdis()方法返回的值存在face一个表中的不同行,现在是一直覆盖存储,只存在了第一行。
没有将read_im_and_landmarks(),getdis()复制进来,怎么改?谢谢大家
大家讲道理2017-04-18 09:58:14
open(file_name,'w')
w
模式会晴空打开的文件。用 a
The pattern is appended to the end of the file.