zoukankan      html  css  js  c++  java
  • CSV的简单用法

      读文件

    import csv  
    with open('test.csv','rb') as myFile:  
        lines=csv.reader(myFile)  
        for line in lines:  
            print line  

    程序输出:

    ['1', '2']
    ['3', 'a']
    ['4', 'b']

      写文件

    with open(r'C:UsersasusDesktopfrank.csv','w') as myFile:
        writer = csv.writer(myFile)
        writer.writerow(['frank', 'yangchao'])
        writer.writerows([('Bob','Tom'), ('liuwei', 'liuyong')])

     

      注意用csv的默认写入时候,写完一行会自动空行后再写入,但添加中间的参数 newline='' 表示写完一行接着写第二行,中间不空行。同时参数‘r’,‘w’表示读取的字符,‘rb’, 'wb'表示读写的字节

    with open(r'C:UsersasusDesktopfrank.csv','w', newline='') as myFile:
        writer = csv.writer(myFile)
        writer.writerow(['frank', 'yangchao'])
        writer.writerows([('Bob','Tom'), ('liuwei', 'liuyong')])

     

    csv.DictWriter 与DictReader 读写文件

    读文件

    文件如下:

    DictReader会将第一行的内容(类标题)作为key值,第二行开始才是数据内容,第一列的key值为name,第二列的key值为class:

    import csv
    with open(r'C:UsersasusDesktopfrank.csv','r') as myFile:
        reader = csv.DictReader(myFile)
        for row in reader:
            print(row['name'], row['class'])
    
    输出结果:
    frank 135
    tom 134
    bob 141
    ailsa 152
     写文件
    import csv
    with open(r'C:UsersasusDesktopfrank.csv','w',newline='') as myFile:
        writer = csv.DictWriter(myFile, fieldnames=['name', 'address']) # 这里注意,fieldname列表中的字段为需要存入的字典的key,存入之后就存入key所对应的value
        writer.writeheader()
        writer.writerows([{'name':'Tom','address':'American'}, {'name':'Bob', 'address':'China'}])

     注意:writer.writeheader() 语句的作用是将 fieldnames=['name', 'address'] 中定义的标题(key)写入到首行

    效果如下:

  • 相关阅读:
    vscode Git提交
    安装 nrm
    vue+element ui项目总结点(六)table编辑当前行、删除当前行、新增、合计操作
    Filebrowser安装教程
    vue数据处理:把数组处理成适用于tree组件的数据
    WC2016模拟Divisor
    对拍模板
    题解(5031. 【NOI2017模拟3.27】B)(数论,组合数学)
    Codeforces #657 Div2C choosing flowers
    关于一个大菜鸡的记录
  • 原文地址:https://www.cnblogs.com/yc3110/p/10604186.html
Copyright © 2011-2022 走看看