python操作csv库

为什么要学csv这个库呢?

  • 项目中常使用csv造一些数据。
  • 用csv做用例参数还是比较不错的,嵌套到yaml中,替换yaml中对应key的value值。
  • python的csv文件打开不是表格样式,看着也舒服。
  • 可以dict的方式读取,便于维护。

1、读取csv文件

我放在csv基本操作读取.py这个模块中了。

data/csv_data.csv文件内容如下:

Name,Age,Sex
Mary,18,Female
Tony,19,Male
Jack,20,Male
wangjie,30,lte
import csv

def readCsv():
    with open(r"data/csv_data.csv", "r", encoding='utf-8') as fp:
        reader = csv.reader(fp)
        for row in reader:
            print(row)

#dicts为True时,打印出dict字典,为false时打印原始的值
def dictReadCsv(dicts=1):
    with open(r"data/csv_data.csv", "r", encoding='utf-8') as fp:
        reader = csv.DictReader(fp)
        if dicts==1:
            for row in reader:
                print(dict(row))
        elif dicts==0:
            for row in reader:
                print(row)
        else:
        	#默认展示成列表
            for row in reader.reader:
                print(row)


if __name__ == '__main__':
    dictReadCsv(dicts=2)

2、写入csv文件

import csv

data = [
    ('Name', 'Age', 'Sex'),
    ('Jane', '12', 'Female'),
    ('jack', '18', 'male'),
    ('roles', '21', 'Female'),
]

def csvWrite():
    with open(r'data/csv_data写入.csv', "w", newline='') as fp:
        writer = csv.writer(fp)
        writer.writerows(data)

def csvDictWrite():
    data = [
        {'Name': 'Mark', 'Age': 17, 'Sex': 'Male'},
        {'Name': 'Lisa', 'Age': 16, 'Sex': 'Female'},
        {'Name': 'Jacky', 'Age': 20, 'Sex': 'Male'},
    ]
    with open('data/csv_data写入.csv', 'w', newline='') as f:
        #文件的表头, newline是定义换行的符号
        fieldnames = ['Name', 'Age', 'Sex']
        writer = csv.DictWriter(f, fieldnames=fieldnames)
        writer.writeheader()
        writer.writerows(data)

if __name__ == '__main__':
    csvWrite()

参考文章入口->>
https://blog.csdn.net/SweetHeartHuaZai/article/details/126609275

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值