Python文件读写(二)

操作csv文件

1.概念

Comma Separated Values 逗号分隔值

.csv文件是一种文件格式,特殊的纯文本文档

作用:在不同的程序之间进行数据交互

注意:其中的每个数据以逗号隔开【注意:逗号必须是英文状态的】

在Windows下,csv文件可以通过记事本,excel,notepad++,editplus等打开

2.读取csv文件
#读取
#1.导入模块
import csv

#1.方式一:经典三步曲
def readCsv1(path):
    #1.打开文件
    csvFile = open(path,"r")

    #2.读取
    #注意:将csvFile作为参数用
    reader = csv.reader(csvFile)
    print(reader)   #可迭代类型
    print(type(reader))  #<class '_csv.reader'>

    #3.将可迭代对象中的数据遍历出来,放到一个列表中
    infoList = []
    for item in reader:
        print(item)
        infoList.append(item)

    #4.关闭文件
    csvFile.close()

    return  infoList

#方式二:简写方式
def readCsv2(path):
    #列表
    infoList = []

    #好处:不用手动调用close
    with open(path,"r") as f:
        reader = csv.reader(f)
        #遍历
        for item in reader:
            infoList.append(item)

    return  infoList


if __name__ == "__main__":

    path = "text1.csv"
    list1 = readCsv2(path)
    print(list1)
3.写入csv文件
#写数据
import  csv

#方式一:通过列表写数据
def writeCsv1(path):
    infoList = [['username', 'password', 'age', 'hobby'], ['zhangsan', 'abc123', '18', 'dance'], ['lisi', 'aabbb', '30', 'sing']]

    #1.打开文件
    csvFile = open(path,"w",newline="")#默认写入数据的时候每条数据的中间会空一行

    #2.获取可迭代对象
    writer = csv.writer(csvFile)

    #3.获取需要写入内容的长度
    size = len(infoList)

    #4.循环写入数据
    for item in  range(size):
        #按行写入
        writer.writerow(infoList[item])

    #5.关闭文件
    csvFile.close()

#方式二:通过字典写数据
def writeCsv2(path):
    dict = {"张三":1243,"李四":4367,"刘能":4365}

    csvFile = open(path,"w",newline="")

    writer = csv.writer(csvFile)

    for key in dict:
        #将字典中的键值对转换为列表
        list = [key,dict[key]]
        writer.writerow(list)

    csvFile.close()

#方式三:简写方式
def writeCsv3(path):
    infoList = [['username', 'password', 'age', 'hobby'], ['zhangsan', 'abc123', '18', 'dance'],
                ['lisi', 'aabbb', '30', 'sing']]
    with open(path,"w",newline="") as f:
        writer = csv.writer(f)

        for item in infoList:
            writer.writerow(item)


if __name__ == "__main__":
    path = "text4.csv"
    writeCsv3(path)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值