zoukankan      html  css  js  c++  java
  • python操作csv文件:读取、写入、末行追加

    csv文件与txt文件类似,区别点就是在csv文件中,字段间使用“,”或“|”隔开,达到类似与表格的效果。csv文件可以使用记事本打开(打开可见分隔符“,”),也可使用excel打开(打开以表格形式显示,看不见分隔符)。注意:尽量不要使用wps打开,可能会打乱格式。

    #在操作csv文件时,需要导入csv库,csv是python内置库,无需下载

     import csv

     #读取csv文件内容

    #在操作csv文件时,文件要保持打开状态,mode='r'表示操作模式为只读
    cdata=open(r'./test.csv',mode='r',encoding='utf8')

    #以字符串形式进行读取,每次读取一行,返回结果包含分隔符
    # for i in cdata:
    # print(i)#结果为字符串,如:"1,3,5,7"

    #以列表形式进行读取,可使用循环遍历每一行读取
    # clist=csv.reader(cdata)#注意:文件打开后每次只能进行一次操作
    # for i in clist:
    # print(i)#结果为列表,列表内元素为字符串类型,如:['1', '3', '5', '7']


    #可将数据直接添加到列表中,方便后期使用
    # result=[]#定义一个列表存储文件数据
    # result.extend(clist)#将数据添加到列表中
    # print(result)#[['1', '3', '5', '7'], ['2', '4', '6', '8']]

    #以字典形式进行读取,可使用循环遍历每一行读取
    cdict=csv.DictReader(cdata)
    for i in cdict:
    print('%s,%s,%s,%s'%(i['l1'],i['l2'],i['l3'],i['l4']))
    # cdata.close()#关闭文件

    #写入操作
    #对csv文件进行写入操作,mode='w'表示操作模式为只写,如文件不存在则自动创建文件覆盖写入
    with open(r'./test2.csv',mode='w',newline='',encoding='utf8') as cf:
    wf=csv.writer(cf)
    wf.writerow(['name', 'age', 'sex'])
    data = [['小丽', '10', '女'], ['小李', '12', '男'], ['小力', '9', '男']]
    for i in data:
    wf.writerow(i)

    #末尾追加写入,文件必须已存在
    with open(r'./test2.csv',mode='a',newline='',encoding='utf8') as cfa:
    wf = csv.writer(cfa)
    data2 = [['小美', '10', '女'], ['小力', '12', '男'],]
    for i in data2:
    wf.writerow(i)
  • 相关阅读:
    js右击事件
    css中的特殊居中
    js实现轮播图
    css画三角形
    Elasticsearch-5.5.0安装head插件
    Elasticsearch报错:NodeDisconnectedException[[][IP:9300][cluster:monitor/nodes/liveness] disc
    mybatis foreach多次遍历问题
    Java使用File.separator解决Win和Linux的路径问题
    WebStorm 代码提示快捷键
    springmvc 前台传日期(字符串) 后台用date接收封装失败(请求400)
  • 原文地址:https://www.cnblogs.com/ttj57/p/13588524.html
Copyright © 2011-2022 走看看