import json # 导入转json格式所需的库
def csv_to_list(file):
"接收csv文件名为参数,将每行数据根据逗号切分为列表
返回一个将每行数据转的列表做为元素的二维列表"
with open(file, 'r', encoding='utf-8') as data: score_ls = [] # 建立一个空的列表 for line in data: # 遍历data中的每一行
# 去掉行末换行符,根据逗号切分为列表 line_data = 填空
score_ls.append(line_data) # 将每行数据加入列表中
return score_ls # 返回转为列表的数据
def list_to_json(score_ls):
接收列表为参数,将数据转为json格式写入文件,函数无返回值"
score_dict = [] # 建立一个空的列表 for i in range(1, len(score_ls)):
score_dict.append(填空)
列表第一个元素与后面每个元素中对应元素生成键值对并转为字典
将字典附加到列表中
创建json文件,将列表中的数据编码为json格式后写入文件
with open("score.json", "w", encoding='utf-8') as data_json:
json.填空(score_dict,data_json, indent=4,ensure_ascii=False)
def json_to_csv(file):
"""接收json文件名为参数,将数据转为csv格式写入文件,
函数无返回值"""
with open(file, "r", encoding='utf-8') as data_json:
data_ls = 填空 # 转为元素是字典的列表
data_list = []
title = list(data_ls[0].keys()) # 返回字典中所有的键,标题行
data_list.append(title)
for dic in data_ls: # 遍历列表,dic为字典类型
data_list.append(填空) # 将字典值加入列表
with open("new_score.csv", "w", encoding='utf-8') as data_csv:
for ls in data_list: # 遍历列表,ls为列表中元素,仍为列表
data_csv.write(",".join(ls) + "\n")
将元素用逗号连接为带换行符的字符串,写入文件中
csv_file = './score.csv' # 原始csv格式文件
json_file = './score.json' # 准备创建并写入的json文件
data_in_ls = csv_to_list(csv_file) # 读csv文件中的数据到列表中
list_to_json(data_in_ls) # 列表中的数据转json格式并写入json文件
- json_to_csv(json_file) # 读json中的数据,转为csv格式写入文件