【笔记】爬虫基础_数据存储_02_CSV文件处理

CSV文件读取的两种方式:

方式一:
这种方式读取到的每一条数据是一个列表,所以需要通过下标的方式获取具体某一个值:

import csv

with open('stock.csv', 'r', encoding='gbk') as fp:
    reader = csv.reader(fp)
    print(type(reader))  # 生成一个迭代器,需要循环遍历打印
    for x in reader:
        print(x)  # 每个x都是一个列表
        print(x[3]) # 通过下标取值

方式二:
这种方式读取到的每一条数据是一个字典,所以可以通过列名获取数据:

with open('stock.csv', 'r', encoding='gbk') as fp:
	reader = csv.DictReader(fp)
	for x in reader:
	print(x['secShortName'])  # 通过列名取值

==============================================

CSV文件的写入的两种方式:

方式一:
使用writerow
通过writerow:写入一行,通过writerows:写入多行

import csv

headers = ('name', 'age', 'height')  # 表头
students = [
    ('张三', '18', '180'),
    ('李四', '19', '190'),
    ('王五', '18', '175')
]
with open('students.csv', 'w', encoding='UTF-8', newline='') as fp:  # 将newline设置成空字符串,替换数据写入时的换行符
	writer = csv.writer(fp)
	writer.writerow(headers)  # 写入一行
	writer.writerows(students)  # 写入多行

方式二:
使用DictWriter
使用字典的方式将数据写入

import csv

headers = ('name', 'age', 'height')
students = [
    {'name': '张三', 'age': '18', 'height': '180'},
    {'name': '李四', 'age': '19', 'height': '190'},
    {'name': '王五', 'age': '18', 'height': '175'}
]
with open('students.csv', 'w', encoding='UTF-8', newline='') as fp:
	writer = csv.DictWriter(fp, headers)
	writer.writeheader()  #  虽然创建DictWriter的时候,参数里有一个headers,但要想把数据写进去,还是需要调用writeheader()方法,否则表头数据写不进去
	writer.writerows(students)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值