当前位置: 首页> 文旅> 美景 > python dict转json字符串后写入csv后去除多余的引号

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

时间:2025/7/9 1:09:26来源:https://blog.csdn.net/xiangxianghehe/article/details/141886675 浏览次数:0次

问题描述
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='')

即可解决问题!!!

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: