python - 使用python在csv中每一行的末尾附加字典或值列表
问题描述
我想在除标题之外的 csv 文件的每一行的末尾附加一个值列表。
我尝试过以下代码,但它会从 csv 文件中删除所有行,并且不会将任何值附加到 csv 文件中。
import tensorflow
from fer.fer import FER
import cv2
from os import listdir
from os.path import isfile, join
import numpy
import csv
f1 = open("C:/Yasir/Thesis/4/FaceDetectionLatest/bin/Debug/Data/demoScoringData9.csv", "a+")
reader = csv.reader(f1)
images = numpy.empty(len(onlyfiles), dtype=object)
for n in range(0, len(onlyfiles)):
images[n] = cv2.imread( join(mypath,onlyfiles[n]) )
# cv2.imshow(join(mypath,onlyfiles[n]),0)
img = cv2.imread( join(mypath,onlyfiles[n]) )
detector = FER()
emotion = detector.detect_emotions(img)
dict = emotion[0]
emoList = dict['emotions']
dict_writer = csv.DictWriter(f1, emoList)
dict_writer.writerow(emoList)
我想将以下值附加到已创建的 csv 文件中。我的意思是 dict 值应该附加到 csv 的每一行,除了下面的标题值。
{“愤怒”:0.15,“厌恶”:0.0,“恐惧”:0.05,“快乐”:0.06,“悲伤”:0.24,“惊讶”:0.02,“中性”:0.49}
我还分享了我的 csv 文件截图
解决方案
这是将列附加到现有 CSV 的基本示例:
data.csv(原始)
col1,col2,col3
1,2,3
4,5,6
7,8,9
测试.py
import csv
with open('data.csv',newline='') as fin:
r = csv.DictReader(fin)
lines = list(r)
with open('data.csv','w',newline='') as fout:
# Create writer with existing column headers plus new column headers
w = csv.DictWriter(fout,fieldnames=r.fieldnames + 'angry disgust fear happy sad surprise neutral'.split())
w.writeheader()
for line in lines:
emolist = {'angry': 0.15, 'disgust': 0.0, 'fear': 0.05, 'happy': 0.06, 'sad': 0.24, 'surprise': 0.02, 'neutral': 0.49}
line.update(emolist)
w.writerow(line)
data.csv(最终)
col1,col2,col3,angry,disgust,fear,happy,sad,surprise,neutral
1,2,3,0.15,0.0,0.05,0.06,0.24,0.02,0.49
4,5,6,0.15,0.0,0.05,0.06,0.24,0.02,0.49
7,8,9,0.15,0.0,0.05,0.06,0.24,0.02,0.49
推荐阅读
- kotlin - Jetpack Compose:使父级之外的偏移图像可见
- time-series - 如何在多个时间序列上训练 deepAR?
- php - WooCommerce Paypal 不打开 PayPal 模式,只是将我带到感谢页面
- ios - 应用商店连接:无法以角色开发者身份上传构建
- node.js - deserializeUser 在注销后返回未经授权的用户
- angular - PWA service-worker 无法在没有刷新页面或 F5 的情况下更新
- python - 属性,属性和方法之间的区别面向对象
- pandas - 如何使用 jupyter notebook 在 vscode 的新选项卡中打开输出单元格
- security - 如何为使用 OpenID 连接的 Web 应用程序设置本地开发环境?
- istio - Istio 流量状态以及 Istio 中的流量如何流动