python csv转json

该代码示例演示了如何从CSV文件读取数据,将其转换为字典结构,并将特定字段(例如'id'为1的记录)添加新字段'message',然后将处理后的数据写入JSON文件。此过程适用于数据处理和格式转换场景。
摘要由CSDN通过智能技术生成
import json
id=''
name=''
age=''


def transjson(jsonpath, csvpath):
     fw = open(jsonpath, 'w', encoding='utf8')   # 打开json文件
     fo = open(csvpath, 'r', newline='')    # 打开csv文件

     ls = []
     for line in fo:
         line = line.replace("\n", "")
         line = line.replace("\r", "")  # 将换行换成空
         ls.append(line.split(","))  # 以,为分隔符
     # print(ls)
     #写入
     for i in range(1, len(ls)):  # 遍历文件的每一行内容,除了列名
         # print(ls[i])
         # if (ls[i].get('id') == '1'):
         #     ls[i].append('message')
         ls[i] = dict(zip(ls[0], ls[i]))  # ls[0]为列名,所以为key,ls[i]为value,
         # zip()是一个内置函数,将两个长度相同的列表组合成一个关系对
         if (ls[i].get('id') == '1'):
             ls[i]['message']='{a: 1,b: 2}'
             print(ls[i])


     json.dump(ls[1:], fw, indent=4)
     #将Python数据类型转换成json格式,编码过程
     #默认是顺序存放,sort_keys是对字典元素按照key进行排序
     #indet参数用语增加数据缩进,使文件更具有可读性

     # 关闭文件
     fo.close()
     fw.close()
transjson('data1.json','test.csv')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值