python中读写csv和json文件

217 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第19天,点击查看活动详情

csv文件读写

Python中读写csv文件的步骤:

1> 导入csv模块,csv模块中提供了2组4个类

         reader 阅读器类  writer 书写器类 :方法的参数是列表

         DictReader    DictWriter   :方法的参数是字典

2> 首先调用open()函数得到文件对象,

3> 以文件对象作为构造方法的参数,创建阅读器对象或者书写器对象

   csv.reader(文件对象)    csv.writer(文件对象)

4> 调用书写器对象或者阅读器对象的方法完成csv文件操作

来个例子:

现在建立一个测试新增商品功能的测试数据文件goods.csv,文件中包含多个商品数据,每个商品数据包含商品名称,商品类型,价格数据。 读取上述csv文件中的数据。

代码展示:

with open("goods.csv",mode="w",encoding="utf-8") as f:

    # 使用DictWriter创建书写器对象,需要文件对象和数据属性名称集合作为参数

    cw = csv.DictWriter(f,["name","category","price"])

    # 调用writeheader()方法在csv文件中第一行写入所有的属性名称

    cw.writeheader()

    # writerow和writerows写入数据,参数是字典格式的数据

    # 数据的顺序可以颠倒

    cw.writerow({"name":"华硕笔记本","category":"笔记本","price":3200})

    cw.writerow({"category": "空调", "price": 1800,"name": "美的空调"})

 

with open("goods.csv",mode="r",encoding="utf-8") as f:

    cr = csv.DictReader(f)

    for line in cr:

        print(line)

json文件读写

json格式的数据:

   单个对象的json: { “属性名称”:数据,......}

        如 {“no”:1,”name”:”张三”,”gender”:”男”,”age”:12,”score”:90}

   多个对象的json: [ {“属性名称”:数据,......},......]

        如  [

              {“no”:1,”name”:”张三”},

              {“no”:2,”name”:”李四”}
]

Python中读写json文件的步骤:

1> 导入json模块

2> 使用json模块中的4个方法来完成json文件的操作

      dumps   loads :python对象和字符串之间的转换

      dump   load :直接读写json文件

来个例子

import json

# 将python中的一个字典数据写入到 student.json中去

stu = {

    "no":1,

    "name":"张三",

    "gender":"男",

    "age":12

}

 

with open("student.json",mode="w",encoding="utf-8") as f:

    # json模块的dump方法直接将字典对象写入到文件去

    json.dump(stu,f)

 

with open("student.json",mode="r",encoding="utf-8") as f:

    # json模块的load方法直接读取json文件中的数据,解释成为一个字典

    stu = json.load(f)

    print(stu,type(stu))