在Django实战中实用的数据格式转换【csv转json和json转csv】

题目

在Django实战中实用的数据格式转换

csv转json

步骤:

  • 使用pandas读取csv文件,index_col=False第一列为index值
data = pd.read_csv(path, index_col=False)
  • 用一个dict()读取data中的数据
    i.e.
    假设你的csv文件里有两列,一般变为json格式都是两列

如果超过两列,可以尝试将其中一列作为key,剩下的列合并为一个list作为value

两列
在这里插入图片描述

'''
Description: demo测试数据处理
Autor: 365JHWZGo
Date: 2022-01-19 11:46:04
LastEditors: 365JHWZGo
LastEditTime: 2022-01-19 12:12:16
'''

import pandas as pd
import json
path = './demo.csv'
data = pd.read_csv(path, index_col=False)
# print(data)
'''
   姓名  年龄
0  张三  12
1  李四  13
2  王五  14
'''
result = dict()
for i in range(len(data)):
    temp = {}
    age = data.iloc[i]['年龄']
    name = data.iloc[i]['姓名']
    temp['age'] = str(age)
    temp['name'] = name
    result['person%d'%i] = temp

# print(result)
'''
{'person0': {'age': 12, 'name': '张三'}, 'person1': {'age': 13, 'name': '李四'}, 'person2': {'age': 14, 'name': '王五'}}
'''
with open('./demo.json', 'w') as f:
        json.dump(result,f,ensure_ascii=False)

在这里插入图片描述

多列
合并前
在这里插入图片描述
合并后
在这里插入图片描述

多列处理方法同上,这里不再累述

json转csv

import codecs
import json
import csv
f = open('./demo.json')
data = json.load(f)
f.close()

f = codecs.open('./demo.csv', 'w', 'utf_8_sig')#解决写入csv时中文乱码
writer=csv.writer(f)
writer.writerow(["年龄","姓名"])
for v in data.values():
    # person0 {'age': '12', 'name': '张三'}
    writer.writerow([v['age'],v['name']])
f.close()

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

365JHWZGo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值