python - Python将字符串写入CSV而不引用
问题描述
我有这个片段:
import csv
data_list = [
{"id": 123, "raw_json": '{"project_id": 100, "name": "ABC", "created_at": "2020-06-27T15:23:09Z"}'},
{"id": 456, "raw_json": '{"project_id": 200, "name": "XYZ", "created_at": "2018-06-27T15:23:09Z"}'}
]
### ^ NOTE: `raw_json` are JSON strings
with open("/tmp/test", "w") as outfile_fd:
writer = csv.DictWriter(
outfile_fd,
fieldnames=["id", "raw_json"],
delimiter="\t",
quoting=csv.QUOTE_MINIMAL
)
for rowdict in data_list:
writer.writerow(rowdict)
现在我检查输出文件$ cat /tmp/test
,它显示
123 "{""project_id"": 100, ""name"": ""ABC"", ""created_at"": ""2020-06-27T15:23:09Z""}"
456 "{""project_id"": 200, ""name"": ""XYZ"", ""created_at"": ""2018-06-27T15:23:09Z""}"
我如何摆脱引用?所需文件如下所示:
123 {"project_id": 100, "name": "ABC", "created_at": "2020-06-27T15:23:09Z"}
456 {"project_id": 200, "name": "XYZ", "created_at": "2018-06-27T15:23:09Z"}
谢谢!
解决方案
更改您的输入数据
:
data_list = [
{"id": 123, "raw_json": '{"project_id": 100, "name": "ABC", "created_at": "2020-06-27T15:23:09Z"}'},
{"id": 456, "raw_json": '{"project_id": 200, "name": "XYZ", "created_at": "2018-06-27T15:23:09Z"}'}
]
到:
data_list = [
{"id": 123, "raw_json": {"project_id": 100, "name": "ABC", "created_at": "2020-06-27T15:23:09Z"}},
{"id": 456, "raw_json": {"project_id": 200, "name": "XYZ", "created_at": "2018-06-27T15:23:09Z"}}
]
或者
您可以使用此更新的代码:
import csv
data_list = [
{"id": 123, "raw_json": '{"project_id": 100, "name": "ABC", "created_at": "2020-06-27T15:23:09Z"}'},
{"id": 456, "raw_json": '{"project_id": 200, "name": "XYZ", "created_at": "2018-06-27T15:23:09Z"}'}
]
### ^ NOTE: `raw_json` are JSON strings
with open("/tmp/test", "w") as outfile_fd:
writer = csv.DictWriter(
outfile_fd,
fieldnames=["id", "raw_json"],
delimiter="\t",
quoting=0
)
for rowdict in data_list:
try:
rowdict['raw_json'] = eval(rowdict['raw_json'])
except:
pass
writer.writerow(rowdict)
推荐阅读
- javascript - requestAnimationFrame 在循环绘制中的位置
- javascript - 使用 javascript 更改 Tippy JS 工具提示主题
- vb.net - 打开文件关联使用空白命令行启动 ClickOnce 应用程序
- python-3.x - 使用 PIL 为 gif W/O 设置动画
- php - 网站连接超时 AWS EC2,上传多张图片后崩溃
- docker - Docker compose in another directory 影响其他容器
- javascript - jQuery 代码不会在内容脚本中运行,只能在页面上运行
- typescript - 如何检查函数是否存在?
- asp.net - 无法让我的 ajax“添加到购物车部分”功能在 ASP.NET MVC 中工作
- c - 绕 Y 轴旋转 gluLookAt