python读写csv文件实例代码

 更新时间:2019年07月05日 14:22:15   作者:尚  
在本篇文章中小编给各位分享了关于python读取和写入csv文件的知识点以及实例代码,需要的朋友们参考下。

Python读取与写入CSV文件需要导入Python自带的CSV模块,然后通过CSV模块中的函数csv.reader()与csv.writer()来进行CSV文件的读取与写入。

写入CSV文件

import csv   # 需要import csv的文件包

out=open("aa.csv",'wb')     # 注意这里如果以‘w'的形式打开,每次写入的数据中间就会多一个空行,所以要用‘wb'

csv_write=csv.write(out,dialect='excel')

# 下面进行具体的内容写入

ss=['a',3]

csv_write.writerow(ss)   #这样ss里面的信息就被写入到aa.csv文件中了,而且是在两列中

                #这里如果需要写入多行,那么就采用循环进行循环输入就可以了

out.close()

读取CSV文件

import csv

out=open("aa.csv",'r')

read_csv=csv.reader(out,dialect='excel')

for line in read_csv:   #循环输出csv中的所有数据

  print line

out.close()

知识点扩展:

import csv

读文件

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)

DictReader方法

写文件

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

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)
 

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 matplotlib的使用并自定义colormap的方法

    Python matplotlib的使用并自定义colormap的方法

    今天小编就为大家分享一篇Python matplotlib的使用并自定义colormap的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Pycharm远程调试原理及具体配置详解

    Pycharm远程调试原理及具体配置详解

    这篇文章主要介绍了Pycharm远程调试原理及具体配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python的deque双端队列详解

    Python的deque双端队列详解

    这篇文章主要介绍了Python的deque双端队列详解,deque(双端队列)是一种数据结构,允许使用O(1)时间复杂度从两端添加和删除元素, Python的deque类实现了此数据结构,需要的朋友可以参考下
    2023-09-09
  • selenium WebDriverWait类等待机制的实现

    selenium WebDriverWait类等待机制的实现

    这篇文章主要介绍了selenium WebDriverWait类等待机制的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • OpenCV中VideoCapture类的使用详解

    OpenCV中VideoCapture类的使用详解

    这篇文章主要介绍了OpenCV中VideoCapture类的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • python select.select模块通信全过程解析

    python select.select模块通信全过程解析

    这篇文章主要为大家解析了python select.select模块通信全过程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • Python中random模块用法实例分析

    Python中random模块用法实例分析

    这篇文章主要介绍了Python中random模块用法,实例分析了Python中random模块的使用技巧及字符串操作相关方法,需要的朋友可以参考下
    2015-05-05
  • Python中Array特性与应用实例深入探究

    Python中Array特性与应用实例深入探究

    这篇文章主要为大家介绍了Python中Array特性与应用实例深入探究,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • 使用python搭建Django应用程序步骤及版本冲突问题解决

    使用python搭建Django应用程序步骤及版本冲突问题解决

    这篇文章主要介绍了使用python搭建Django应用程序的步骤,最近还解决了因版本冲突出现的错误
    2013-11-11
  • pytorch如何冻结某层参数的实现

    pytorch如何冻结某层参数的实现

    这篇文章主要介绍了pytorch如何冻结某层参数的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01

最新评论