python使用csv模块如何将数据存放在一张表的不同行?

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()复制进来,怎么改?谢谢大家

阅读 3.7k
2 个回答

open(file_name,'w')

w模式会晴空打开的文件。用 a模式追加到文件尾。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题