検索

ホームページ  >  に質問  >  本文

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

PHP中文网PHP中文网2810日前375

全員に返信(2)返信します

  • 大家讲道理

    大家讲道理2017-04-18 09:58:14

    open(file_name,'w')

    w モードでは、開いているファイルが消去されます。 a パターンを使用してファイルの末尾に追加します。

    返事
    0
  • 高洛峰

    高洛峰2017-04-18 09:58:14

    組み込み関数 — Python 2.7.12 ドキュメント

    返事
    0
  • キャンセル返事