Python csv文件操作之csv库的使用

目录

读取CSV文件

列表读取

字典读取

写入CSV文件

列表写入

字典写入


我的csv文件如下:

User.csv

读取CSV文件

列表读取

尝试读取一下csv文件,代码如下

import csv

# 文件名
filename = 'User.csv'
# 打开文件
f = open(file=filename, mode='r', encoding='UTF-8')
# 创建csv读取文件实例
csv_f = csv.reader(f)
# 遍历
for row in csv_f:
    print(row)

 运行一下看下控制台

 从控制台可以看得出来遍历输出的格式是列表的形式,那就用列表的方法来使用吧

把print改成以下代码

    print(row[0])

看一下运行结果,果然不出所料,输出了第一列的数据

做个登录小实验,看一下成果,用for循环嵌套if判断

import csv

# 文件名
filename = 'User.csv'
# 打开文件
f = open(file=filename, mode='r', encoding='UTF-8')
# 创建csv读取文件实例
csv_f = csv.reader(f)
# 输入账号密码
username = input('请输入账号:')
password = input('请输入密码:')
# 遍历判断
for row in csv_f:
    if username == row[0] and password == row[1]:
        print('登录成功!')
        break
    else:
        continue

运行一下,输入账号密码,成功了:

 

字典读取

使用DictReader,代码如下

import csv

# 文件名
filename = 'User.csv'
# 打开文件
f = open(file=filename, mode='r', encoding='UTF-8')
# 创建字典读取csv文件实例
csv_f = csv.DictReader(f)
# 遍历
for row in csv_f:
    print(row)

运行一下,看下结果

把print改成以下代码

print(row['账号'])

再运行一下,输出了账号这一列 


写入CSV文件

列表写入

 写入csv文件,用writerow写入一行数据,代码如下

import csv

# 文件名
filename = 'User.csv'
# 打开文件
f = open(file=filename, mode='a', encoding='UTF-8', newline='')
# 创建csv写入文件实例
csv_f = csv.writer(f)
# 定义要写入的数据
a = [111111, 222222]
# writerow写入一行
csv_f.writerow(a)

运行一下看下如何

 用writerows写入多行数据,代码如下

import csv

# 文件名
filename = 'User.csv'
# 打开文件
f = open(file=filename, mode='a', encoding='UTF-8', newline='')
# 写入csv文件
csv_f = csv.writer(f)
# 定义要写入的数据
b = [
    (111111, 222222),
    (333333, 444444)
]
# writerows写入多行
csv_f.writerows(b)

运行一下看下结果,写入了两行数据

 做个注册小实验,看一下成果如何

import csv

# 文件名
filename = 'User.csv'
# 以追加写方式打开文件
f = open(file=filename, mode='a', encoding='UTF-8', newline='')
# 创建写入csv文件实例
csv_f = csv.writer(f)
# 输入账号密码
username = input('请输入账号:')
password = input('请输入密码:')
# 定义要写入的数据
data = [username, password]
# writerow写入一行
csv_f.writerow(data)
print('注册成功!')

 运行一下,输入账号密码,看下表格

 

 

字典写入

使用csv.DictWriter

用writerow写入一行数据,代码如下

import csv

# 文件名
filename = 'User.csv'
# 以追加写方式打开文件
f = open(file=filename, mode='a', encoding='UTF-8', newline='')
# 定义表头字段
header = ['账号', '密码']
# 定义要写入的数据
data = {'账号': '111111', '密码': '222222'}
# 创建csv写入文件实例
csv_f = csv.DictWriter(f, header)
# writerow写入一行数据
csv_f.writerow(data)

运行一下,看下结果

用writerows写入多行数据,代码如下

import csv

# 文件名
filename = 'User.csv'
# 以追加写方式打开文件
f = open(file=filename, mode='a', encoding='UTF-8', newline='')
# 定义表头字段
header = ['账号', '密码']
# 定义要写入的数据
data = [
    {'账号': '111111', '密码': '222222'},
    {'账号': '333333', '密码': '444444'}
]
# 创建csv写入文件实例
csv_f = csv.DictWriter(f, header)
# writerows写入多行
csv_f.writerows(data)

 运行结果如下

 

 需要注意的是header表头数据不能写成字典的格式也就是{ },必须要写成列表的格式[ ],不要输错符号,否则会导致写入的列数据会出问题,也就是下面这种情况。

好了,以上就是csv库的使用。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值