python把.CSV文件转换成.JSON格式文件并格式化储存

先来看看.JSON对象的一些操作方法:
在这里插入图片描述
我们这次用到的主要就是json.dumps

再来看看我们将要转换的.CSV文件的样子:
在这里插入图片描述
可以看出,是一张再普通不过的表了,话不多说,直接上代码:

import json

fr=open("学生信息表.csv","r",encoding='utf-8')
ls=[]
for line in fr:
    line=line.replace("\n","")
    ls.append(line.split(","))
fr.close()
fw=open("学生信息表.json","w",encoding='utf-8')
for i in range(1,len(ls)):
    ls[i]=dict(zip(ls[0],ls[i]))
b = json.dumps(ls[1:],sort_keys=True,indent=4,ensure_ascii=False)
print(b)
fw.write(b)
fw.close()

运行结果如下:
在这里插入图片描述
可以看出,不但成功的转换成了JSON格式,而且还格式化输出使结果更好看了(如果不需要,也可以不格式化样式,通过使用核心方法json.dumps即可)

  • 8
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用Python内置的csvjson模块来实现将csv文件转换为json文件的功能。下面是一个示例代码,可以将含有注释的csv文件转换为json文件: ```python import csv import json csv_file = 'data.csv' json_file = 'data.json' # 读取csv文件并解析数据 with open(csv_file, newline='') as csvfile: reader = csv.reader(csvfile) header = next(reader) # 读取表头 data = [] for row in reader: # 将每行数据和注释组成一个字典 item = {} for i, value in enumerate(row): item[header[i]] = value if i < len(header) - 1: item[header[i+1]+'_comment'] = '' # 初始化注释为空字符串 data.append(item) # 读取注释并填充到数据中 with open(csv_file, newline='') as csvfile: reader = csv.reader(csvfile) next(reader) # 跳过表头 for i, row in enumerate(reader): for j, value in enumerate(row): if j < len(header) - 1: comment_col = j + 1 comment = row[comment_col].strip() # 去除注释的前后空格 data[i][header[comment_col]+'_comment'] = comment # 将数据写入json文件 with open(json_file, 'w') as jsonfile: json.dump(data, jsonfile, indent=4) ``` 在这个示例代码中,我们首先使用csv模块读取csv文件中的数据,并将每行数据和注释组成一个字典。然后,我们再次读取csv文件,获取每行注释,并填充到数据字典中。最后,我们将数据写入json文件中,使用json模块的dump函数,同时指定indent参数来控制输出格式。 需要注意的是,这个示例代码假设csv文件中的注释位于每行数据的最后一列,并且注释的列名是数据列名后加上一个'_comment'的形式。如果csv文件中的注释列名不是这种形式,需要根据实际情况进行修改。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值