泡妹记-用python把csv文件转换json文件
4 年前
· 来自专栏
玩转Python
情节
小陈 : 波波(本人昵称),我需要这个MSQL数据库里面这张表的json数据,可以发给我嘛。
波波:嗯,你稍等下,这个SQLyogEnt导出没有json文件的选项,我转换后发给你。
小陈: 那好,谢谢。
波波: 不客气。
目标
csv 文件转json文件
解决办法
- 借助 SQLyogEnt 导出功能,因为没有其他客户端软件,这个又没有导出json文件的选项。
- 借助python 的 csv 标准模块 和 json 解析。
- 当然方法不限这种,只是既然学了 Python ,就要善用它,工具是用来使用的,而不是摆设。
用 SQLyogEnt 导出csv文件
注意 : 把.csv 文件的编码设置为utf-8,不然运行会出错
- 选择导出的.csv文件 用 记事本 打开
- 点击另存为然后保存
csv 文件转json文件
import sys
import json
input_file = sys.argv[1]
lines = ""
# 读取文件
with open(input_file, "r",encoding='utf-8') as f:
lines = f.readlines()
lines = [line.strip() for line in lines]
keys = lines[0].split(',')
line_num = 1
total_lines = len(lines)
# 数据存储
datas = []
while line_num < total_lines:
values = lines[line_num].split(",")
datas.append(dict(zip(keys, values)))
line_num = line_num + 1
# 序列化时对中文默认使用的ascii编码.想输出真正的中文需要指定ensure_ascii=False
json_str = json.dumps(datas, ensure_ascii=False, indent=4)
# 去除\",\\N,\n 无关符号