美文网首页python进阶课
python读写csv文件的简单操作

python读写csv文件的简单操作

作者: 小码弟 | 来源:发表于2018-09-14 20:58 被阅读0次

    csv模块专门用来读写数据,详情见 python文档

    import csv
    

    读文件

    1. reader方法
      with open('./data.csv', 'r') as f:
        reader = csv.reader(f)
        # python 2
        header = reader.next()
        # python 3x 使用python内置的next
        header = next(reader)
        #获取真正的数据
        for row in reader:
          print(row) # 打印每一行,列表类型,只能按位置索引
      

    稍微介绍一下next(iterable, [default ])函数,它是python3x内置的,用于遍历可迭代对象的方法,其中iterable可以使字符串、列表、字典、元祖、集合等。若default给出,那么遍历到头时返回这个值,不然就抛异常。
    这让我想到了字典的get()方法,它也有类似作用。比如,

    # 如果dic里面没有key1这个键,那就返回我们指定的0
    dic.get('key1', 0)
    
    1. DictReader方法
        with open('./data.csv', 'r') as f:
          reader = csv.DictReader(f, delimeter=';')
          for dic in reader:
            print(dic.items()) # 每行按字典返回,按键索引
      

    写文件

    跟读对应, 写操作也有两个方法

    1. writer方法,适用列表的列表

        with open('./data.csv', 'w') as f:
          header = ['col1', 'col2', ...]
          writer = csv.writer(f)
          writer.writeheader(header)
          for row in row_list:
            writer.writerow(row)
          # 或直接调用
          writer.writerows(row_list)
        
      
    2. DictWriter方法,适用字典列表

       with open('./data.csv', 'w') as f:
         dictwriter = csv.DictWriter(f)
         dictwriter.writeheader(dic_list[0].keys())
         for dic in dic_list:
           writer.writerow(dic)
         # 或者一次性写入,直接调用
           wrier.writerows(dic_list)
         
      

    都是些比较基础的操作,在这里记录一下。如果你觉得有帮助,就更好了。

    相关文章

      网友评论

        本文标题:python读写csv文件的简单操作

        本文链接:https://www.haomeiwen.com/subject/tpjagftx.html