【学习】json 文件和 csv文件(读写)

本文介绍了如何在Python中使用json.dumps()和json.loads()进行json格式的转换,以及使用csv.reader()、csv.DictReader()读取csv文件,通过writer.writerow()和csv.DictWriter()进行csv文件的写入操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,json

json.dumps() ---将字典转成JSON格式

import json

zhidian_json=[{
    'name':'jing1',
    'age':'21',
},
{
    'name':'jing2',
    'age':'22',
}]
#json.dumps()--数据转成字符串
json_str =json.dumps(zhidian_json)
print(json_str)

>>[{"name": "jing1", "age": "21"}, {"name": "jing2", "age": "22"}]

 -----------------------------

#把字符串存储文件中,personyj2.json=文件名称,
with open('personyj2.json','w',encoding='utf-8')as fp:
    # fp.write(json_str)     #数据写入文件中
    json.dump(zhidian_json,fp)    #用json写入文件中,ensure_ascii=False,关闭它默认的形式

       json.loads()解码python json格式
    
       json.load()加载python json格式文件

 

2,csv文件

读取csv:

        方法一(根据坐标去获取---csv.reader( ))

#读取文件,根据坐标去获取
def duqu():
    with open('stock.csv','r') as fp:
    #读取文件,  reader=迭代器
    reader =csv.reader(fp)
    #从第二行开始
    next(reader)

    for x in reader:
        #print(x) #获取全部
        #获取单个
        name=x[2]
        id=x[1]
        #可以对数据进行操作
        print({'name':name,'id':id})

          方法二(根据标题去获取--csv.DictReader( ))

 #根据标题去获取
def duqu2():
    with open('stock.csv','r') as fp:
        #csv.DictReader(fp)不贵包含标题,返回字典
    reader=csv.DictReader(fp)
    for x in reader():
        value ={"name":x['name'],"id":x['id']}
        print(value)

>>name:jing,id:1


写入CVS文件:

方法一:(正常保存 )

       writer.writerow()    :一次性可以写入多行数据

        newline=" "    :把空内容去除掉

#写入csv.writer(fp)--写入数据

headex=['username','age','height']
values=[
    ('jing1',10,170),
    ('jing2',11,180),
    ('jing3',12,190),
]
with open('class.csv','w',encoding='utf-8',newline="") as fp:
    writer = csv.writer(fp)
    writer.writerow(headex)   #writer.writerow()----一次性可以写入多行数据
    writer.writerows(values)

》》》
username,age,height
jing1,10,170
jing2,11,180
jing3,12,190

 

方法二:(爬取内容字典保存 )

                    csv.DictWriter(fp,headex)   :字典方式保存

headex=['username','age','height']
values=[
    {'username':'jinga1','age':10,'height':170},
    {'username':'jinga2','age':10,'height':170},
    {'username':'jinga3','age':10,'height':170}
]
with open('class.csv','w',encoding='utf-8',newline="") as fp:
    writer = csv.DictWriter(fp,headex) #字典方式保存
    writer.writeheader()#写入表头数据的时候,需要调用writeheader方法
    writer.writerow(values)

 


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值