csv文件处理

 

1.纯文本,使用某个字符集,比如 ASCI,Unicode、 EBCDIC或GB231

2(简体中文环境)等2由记录组成(典型的是行条记录);
3.每条记录被分符分隔为段(典型分精符有退号、分号或制表符:有时分隔符可以包括可选的空)

4.每条记录都有同样的字段序列

 


import csv



#读入csv文件中
# def csv_demo1():
#     with open('python.csv', 'r') as f:
#         reader = csv.reader(f)  # reader 是一个迭代器,所以可以用for循环来迭代它
#         next(reader)  # 加next标题那一行就不会再去遍历,就是我们常说的第一行
#         for x in reader:  # x遍历的是一行,一行,一行地遍历
#             职位 = x[0]  # 读取的时候也可以按照索引读取,再给名字它
#             工资 = x[3]
#             print({'职位': 职位, '工资': 工资})  # 字典里面用单引号
# def csv_demo2():
#     with open('python.csv','r') as f:
#         reader = csv.DictReader(f)    #返回来的是一个字典,也不会包含第一行数据
#         #reader是一个迭代器,返回来的是一个字典,是一个有序的字典,其他普通的字典是无序的
#         for x in reader:
#             value = {'职位':x['职位'],'工作时间':x['工作时间']} #能通过key的方式获取值,这样更安全
#             print(value)


#写入csv文件
# def xr_csv():
#     headers = ['a','b','c'] #定义一个表头信息,即是写入的第一行
#     values = [
#     ('张三',18,180),
#     ('李四',19,179),
#     ('王五',18,180)
#     ]
#     with open('csv.csv','w',encoding='utf-8',newline='') as f: #encoding 指定输入的编码,一般写入文件用这个
#         #newline=''  ''里面默认的是'\n'换行,就是写入的时候不会有空出一行
#         writer = csv.writer(f)
#         writer.writerow(headers) #把表头数据写进去
#         writer.writerows(values) #可以写入多条数据

def zd_csv():
    headers = ['name', 'age', 'highy']  #表头要和下面字典的key 一一对应才可以输入的,表头中的值就是字典中的key
    value = [
        {'name': 'dj', 'age': 20, 'highy': 175},
        {'name': 'dj', 'age': 21, 'highy': 175},
        {'name': 'dj', 'age': 22, 'highy': 175}
    ]
    with open('字典.csv','w',newline='',encoding='utf-8') as f:
        writer = csv.DictWriter(f,headers)
        #写入表头的数据时候,需要调用writeheader()方法,他不会自动写入表头的,要自己手动添加方法写入
        writer.writeheader()
        writer.writerows(value)






if __name__ == '__main__':
    zd_csv()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值