【问题标题】:How to write variables on csv with Python如何使用 Python 在 csv 上写入变量
【发布时间】:2019-05-12 21:07:33
【问题描述】:

我的文件夹中有图像。我希望我的脚本扫描每张图片并获取它们的均值和方差值并将它们添加到 csv。所以在 csv 中我将有 2 个列名称,例如均值和方差。每张图片都有均值和方差值。 这是我的代码的一部分,我没有在这里仅在 csv 标题上填写重要部分数据,我希望图像中的数据进入 csv。我该如何解决这个问题。

基本上,例如,我在一个文件夹中有 100 张照片。我想为每张照片扫描文件夹。我想把每张照片的均值和方差值写入 csv。我不知道如何才能很好地描述它。

import numpy as np 
import cv2
import glob
import argparse
import csv

header = [
            "Mean",
            "Variance",
    ]
    ap = argparse.ArgumentParser()
    ap.add_argument("-d","--dataset",required = True,help = "path to input dataset of images")
    args = vars(ap.parse_args())

for imagePath in glob.glob(args["dataset"] + "/*png"):
    img = cv2.imread(imagePath,0)
    dataMean=np.mean(img,axis=(0,1))
    dataVar=np.var(img,axis=(0,1))


    with open("data.csv", "wt", newline="") as file:
            writer = csv.writer(file, delimiter=",")
            writer.writerow(i for i in header)

【问题讨论】:

  • 有什么问题?您还没有描述代码的当前输出。正如所写,这段代码甚至没有执行。代码缩进不正确。阅读minimal reproducible example 指南,并为该问题制作一个工作示例。
  • 试试这个可能对你有帮助programiz.com/python-programming/working-csv-files
  • 我认为如果将 writer.writerow(i for i in header) 更改为仅 writer.writerow(header) 可能会有问题

标签: python python-3.x csv


【解决方案1】:

我不太明白你的问题,你应该澄清它,但如果它是我认为的,那么这可能会解决你的问题

import numpy as np 
import cv2
import glob
import argparse
import csv

header = [
            "Mean",
            "Variance",
    ]
ap = argparse.ArgumentParser()
ap.add_argument("-d","--dataset",required = True,help = "path to input dataset of images")
args = vars(ap.parse_args())

with open("data.csv", "wt", newline="") as file:
    writer = csv.writer(file, delimiter=",")
    writer.writerow(header)

    for imagePath in glob.glob(args["dataset"] + "/*png"):
        img = cv2.imread(imagePath,0)
        dataMean=np.mean(img,axis=(0,1))
        dataVar=np.var(img,axis=(0,1))



        writer.writerow([dataMean,dataVar])
file.close()

【讨论】:

  • 很抱歉,我无法说出我真正的问题是什么。但是你用聪明的方式解决了非常感谢
猜你喜欢
  • 2023-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-30
  • 2019-04-03
  • 1970-01-01
相关资源
最近更新 更多