python dict转json字符串后写入csv后去除多余的引号

embedded/2024/10/19 9:38:44/

问题描述
dict转为标准json格式化字符串json_str,再把这个json字符串使用csv库写入csv文件 会有多余的双引号。
伪代码如下:

import os
import re
import cv2
import glob
import csv
import json
from tqdm import tqdmwith open('test.csv', 'w', newline='') as csvfile:# 创建 CSV 写入对象csvwriter = csv.writer( csvfile, delimiter='\01')# 遍历所有图像文件for image_file in tqdm(image_files):data_dict = {}# 读取图像文件image = cv2.imread(image_file)f_name = os.path.basename(image_file)# 检查图像是否成功读取if image is None:print(f"Error: Could not read the image {image}.")else:# 获取图像的高度和宽度height, width = image.shape[:2]data_dict["test"] = "/path/" + f_namedata_dict["width"] = widthdata_dict["height"] = heightdata_dict["info"] = "开源数据"str_info = json.dumps(data_dict, ensure_ascii=False)csvwriter.writerow(["20240904", data_dict["test"], str_info,  "1"])

一直想用字符串replace的方式解决,查了一会,发现问题出在csv写入时有一些默认设置,见:https://stackoverflow.com/questions/19315366/csv-writer-in-python-with-custom-quoting

只需要把上面 csvwriter 改为:

 csvwriter = csv.writer( csvfile, delimiter='\01', quoting=csv.QUOTE_NONE, quotechar='')

即可解决问题!!!


http://www.ppmy.cn/embedded/105573.html

相关文章

Git学习尚硅谷(003 git分支操作)

尚硅谷Git入门到精通全套教程(涵盖GitHub\Gitee码云\GitLab) 总时长 4:52:00 共45P 此文章包含第15p-第p18的内容 文章目录 git分支操作分支介绍分支的好处 分支的操作查看分支创建分支切换分支&修改分支合并分支正常合并分支冲突合并 git分支操作…

QT_ERROR running qmake

文章目录 之前一直以为没有对应的msvc版本。。。。 尝试过网上的其他解答,将qt插件的版本和属性的版本统一没用

基于微信小程序儿童预防接种预约小程序

博主介绍: 大家好,本人精通Java、Python、C#、C、C编程语言,同时也熟练掌握微信小程序、Php和Android等技术,能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验,能够为学生提供各类…

基于深度学习的人机交互中的认知模型

基于深度学习的人机交互中的认知模型旨在使计算机系统能够更好地理解、预测和响应人类行为和意图,从而实现更自然和有效的交互体验。这类认知模型综合了深度学习技术和认知科学的原理,以模拟人类的感知、思维、情感和决策过程。 1. 基于深度学习的认知模…

裁剪视频如何让画质不变?小白都在用这些

怎么裁剪视频画面?其实,它已经成为许多人日常生活中的一项基本技能。 无论是制作温馨的家庭视频、分享日常点滴,还是进行专业的视频剪辑,裁剪视频都是一个关键步骤。 本文将为你详细介绍4个简单易学的视频裁剪教程,让…

基于约束大于规范的想法,封装缓存组件

架构?何谓架构?好像并没有一个准确的概念。以前我觉得架构就是搭出一套完美的框架,可以让其他开发人员减少不必要的代码开发量;可以完美地实现高内聚低耦合的准则;可以尽可能地实现用最少的硬件资源,实现最高的程序效率…

贪心算法---划分字母区间

题目: 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。 注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s 。 返回一个表示每个字符串片段的长度…

基础学习之——git 的使用方式

git 是一种分布式版本控制系统(Distributed Version Control System, DVCS),用于有效地管理代码和文件的变更历史。它最初由林纳斯托瓦兹(Linus Torvalds)于2005年为管理Linux内核开发而设计,并很快因其效率…