学习篇—文件处理1

json文件 介绍

json是一种轻量级的数据交换格式,本质上就是一个字符串,多个数据用逗号隔开。工具
支持的数据格式:
1.对象(字典),使用 { }。
2.数组(列表),使用 [ ]。
3.整型、浮点型、布尔类型还有null类型
4.字符串类型(字符串必须用双引号)

# 将python对象转化成json字符,dumps转化,dump保存
import json
person = [  {'user':"xingying", 'age':"20"}, {'user':"xingyue",'age':"21"} ]
json_str = json.dumps(person)
with open('person.json','w') as fp:
    fp.write(json_str)
#print(json_str)
##运行结果:[{"user": "xingying", "age": "20"}, {"user": "xingyue", "age": "21"}]

# with open('person.json','w',enconding='utf-8') as fp:
#     json.dump(person,fp,ensure_ascii=False)

# dict1={'1':'111'}
# json_dic = json.dumps(dict1)
# print(json_dic) #运行结果:{"1": "111"}
# 将json转化成python对象,loads转化,load读入
import json
json_str = '[{"user":"xing","age":"18"},{"user":"ying","age":"19"}]'
persons = json.loads(json_str)
#print(persons)
##[{'user': 'xing', 'age': '18'}, {'user': 'ying', 'age': '19'}]

with open('person.json','r',encoding='utf-8') as fp:
    persons = json.load(fp)
    print(type(persons))   #<class 'list'>

CSV文件 介绍

1.纯文本,使用某个字符集,比如ASCII、Unicode、EBCDIC或GB2312;
2.由记录组成(典型的是每行一条记录);
3.每条记录被分隔符分隔为字段(典型分隔符有逗号、分号或制表符;有时分隔符可以包括可选的空格);
4.每条记录都有同样的字段序列。

#读取csv文件
import csv
def read_csv_demo():
    with open('数据分析.csv','r',encoding='utf-8') as fp:
        reader = csv.reader(fp)  #reader是一个迭代器
        next(reader) #移动光标到下一行
        for i in reader:
            unit = i[0]
            place = i[3]
            print({'unit':unit,'place':place})
            
def read_csv_demo2():
    with open('数据分析.csv','r',encoding='utf-8') as fp:
        reader = csv.DictReader(fp) #返回来是一个字典
        for i in reader:
            value = {"name":i['工作地点'],'volumn':i['学历要求']}
            print(value)
            
if __name__ == '__main__':
    #read_csv_demo()
    #read_csv_demo2()  #{'name': '北京 ', 'volumn': '本科及以上 '}...
#写入csv文件
import csv
def write_csv_demo():
    headers = ["user","age"]
    values = [('xing',18),
              ('ying',19)]
    with open('class.csv','w',encoding='utf-8',newline='') as fp:
        writer = csv.writer(fp)
        writer.writerow(headers)
        writer.writerows(values)
        
def write_csv_demo2():
    headers = ["user","age"]
    values = [{'user':'xing','age':'18'},
              {'user':'ying','age':'20'}]
    with open('class.csv','w',encoding='utf-8',newline='') as fp:
        writer = csv.DictWriter(fp,headers)
        writer.writeheader() #写入表头数据的时候,调用writeheader方法
        writer.writerows(values)
    
if __name__ == '__main__':
    #write_csv_demo()
    write_csv_demo2()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值