添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
泡妹记-用python把csv文件转换json文件

泡妹记-用python把csv文件转换json文件

4 年前 · 来自专栏 玩转Python

情节

小陈 : 波波(本人昵称),我需要这个MSQL数据库里面这张表的json数据,可以发给我嘛。

波波:嗯,你稍等下,这个SQLyogEnt导出没有json文件的选项,我转换后发给你。

小陈: 那好,谢谢。

波波: 不客气。

目标

csv 文件转json文件

解决办法

  1. 借助 SQLyogEnt 导出功能,因为没有其他客户端软件,这个又没有导出json文件的选项。
  2. 借助python 的 csv 标准模块 和 json 解析。
  3. 当然方法不限这种,只是既然学了 Python ,就要善用它,工具是用来使用的,而不是摆设。

用 SQLyogEnt 导出csv文件

导出csv设置1


导出csv设置2

注意 把.csv 文件的编码设置为utf-8,不然运行会出错

  1. 选择导出的.csv文件 用 记事本 打开
  2. 点击另存为然后保存
转换文件格式

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 无关符号