Python使用csv模块读写csv文件

csv是逗号分隔值(Comma-Separated Values)的简称。

有时也称为字符分隔值,因为分隔字符也可以不是逗号,其文件以纯文本形式存储表格数据。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。

csv可以存储各种各样的数据,不过,通常来说,比较适合存储有相同字段或表头的一批数据,这些数据可以展示成表格。

可以使用excel开启csv文件,打开后看到的数据以excel表格的方式进行展示。

现在我们就开始使用csv将数据写入csv文件,然后将数据从csv中读取出来使用。

一、将数据写入csv文件中

  1. import csv


  2. csv_data = (
  3. (1, 2, 3, 4, 5, 6),
  4. ('a', 'b', 'c', 'd', 'e', 'f'),
  5. ('p', 'y', 't', 'h', 'o', 'n')
  6. )
  7. output_file_name = 'csv_file.csv'


  8. def save_csv(target_list, output_file_name):
  9. """
  10. 将数据写入csv文件
  11. """
  12. if not output_file_name.endswith('.csv'):
  13. output_file_name += '.csv'
  14. csv_file = open(output_file_name, "w", newline="")
  15. key_data = target_list[0]
  16. value_data = [target for target in target_list]
  17. csv_writer = csv.writer(csv_file)
  18. csv_writer.writerow(key_data)
  19. csv_writer.writerows(value_data)
  20. csv_file.close()


  21. save_csv(csv_data, output_file_name)

代码描述:

1.我们先将需要保存的数据解析好,保存成固定的数据类型(保存成列表,元组,字典都可以,根据具体场景来选择)

2.我们将保存数据到csv文件的代码封装成一个函数,方便重用。步骤主要分为三步:打开文件,写入数据,关闭文件。其中,写入数据时记得先写入表头(我们使用excel打开时需要表头)再写入表格中的数据,数据要以一个列表的形式传递给writerows()。

运行结果:

运行以上代码后,会在当前目录下创建一个csv_file.csv的文件,并写入csv_data的数据,可以使用excel打开文件查看。如下图。

二、从csv文件中读取数据

  1. input_file_name = 'csv_file.csv'


  2. def read_csv(input_file_name):
  3. """
  4. 读取csv文件数据
  5. """
  6. with open(input_file_name, 'r', encoding='utf-8') as csv_file:
  7. csv_reader = csv.reader(csv_file)
  8. # csv_reader对象,是一个列表的格式
  9. print(csv_reader)
  10. # csv_reader对象的一个迭代器,可以通过next()取出其中的元素
  11. print(next(csv_reader))
  12. # 也可以通过for循环取出所有元素
  13. for line in csv_reader:
  14. print(''.join(line))


  15. read_csv(output_file_name)

代码描述:

1.可以通过with上下文管理的方式打开csv文件,如果想在with的代码块外对读出来的数据进行处理,则可以使用open()打开,再使用close()关闭。

2.csv通过csv.reader()来打开csv文件,返回的是一个列表格式的迭代器,可以通过next()方法获取其中的元素,也可以使用for循环依次取出所有元素。

运行结果:

  1. <_csv.reader object at 0x00000295BC044528>
  2. ['1', '2', '3', '4', '5', '6']
  3. 123456
  4. abcdef
  5. python

这样,将数据写入csv和从csv中读取数据就完成了,使用过程是非常简单的。

 

 

(0)

相关推荐

  • Python 导入 8 种数据文件的方法

    数据分析过程中,需要对获取到的数据进行分析,往往第一步就是导入数据.导入数据有很多方式,不同的数据文件需要用到不同的导入方式,相同的文件也会有几种不同的导入方式.下面总结几种常用的文件导入方法. 大多 ...

  • 第 108 天:Python 操作 CSV

    使用过 CSV 文件都知道:如果我们的电脑中装了 WPS 或 Microsoft Office 的话,.csv 文件默认是被 Excel 打开的,那么什么是 CSV 文件?CSV 文件与 Excel ...

  • python笔记5-python2写csv文件中文乱码问题

    前言 python2最大的坑在于中文编码问题,遇到中文报错首先加u,再各种encode.decode. 当list.tuple.dict里面有中文时,打印出来的是Unicode编码,这个是无解的. 对 ...

  •  一个python读取cvs文件并处理画图的程序

    import csv from matplotlib import pyplot as plt from datetime import datetime #读取CSV文件数据 filename='s ...

  • Python开发 之 Python3读写Excel文件(较全)

    Python3读写Excel文件 1.Python中几种常用包比较 2.用xlrd包读取Excel文件 2.1.用法 2.1.1.引用包 2.1.2.打开文件 2.1.3.获取你要打开的sheet文件 ...

  • 使用python-docx模块读写word文件

    word文档的自动化处理是一件比较头痛的事情,因为深耕于windows操作系统,对于跨平台需求的word文档编辑,是非常痛苦的一件事.在python的生态环境中,提供了python-docx这个模块, ...

  • 通过xlrd和xlwt模块读写excel文件

    xlrd模块用于读取excel文件,xlwt模块用于写入excel文件,二者搭配,可以灵活的操作excel文件.相比openpyxl模块,xlrd和xlwt可以操作不仅可以操作后缀为xlsx的文件,也 ...

  • Python标准库模块之heapq

    该模块提供了堆排序算法的实现.堆是二叉树,最大堆中父节点大于或等于两个子节点,最小堆父节点小于或等于两个子节点. 创建堆 heapq有两种方式创建堆, 一种是使用一个空列表,然后使用heapq.hea ...

  • Python爬虫常用模块及工具!

    想要学好Python,除了合适的学习路线外,选择合适的工具也很重要,它可以提高我们的工作效率,也可以节省时间.这篇文章重点为大家介绍Python爬虫常用工具,快跟着小编来看看吧. 第一种:常用模块介绍 ...

  • Python利用xlwings库读写excel常用操作:range对象 | o郭二爷o

    前面两节介绍xlwings操作book对象.sheet对象的一些常用操作,本节来介绍xlwings对range对象的一些操作,也是使用最频繁的操作.我们对excel读写都是基于具体的单元格区域进行的, ...

  • Python骚操作,提取pdf文件中的表格数据!

    在实际研究中,我们经常需要获取大量数据,而这些数据很大一部分以pdf表格的形式呈现,如公司年报.发行上市公告等.面对如此多的数据表格,采用手工复制黏贴的方式显然并不可取.那么如何才能高效提取出pdf文 ...

  • 用Python自动清理电脑内重复文件,只要10行代码就够了

    给定一个文件夹,使用Python检查给定文件夹下有无文件重复,若存在重复则删除 主要涉及的知识点有: os模块综合应用 glob模块综合应用 利用filecmp模块比较两个文件 步骤分析 该程序实现的 ...

  • 《自拍教程78》Python 百度网盘500个文件分割

    案例故事 百度网盘非会员大量上传文件,会弹出:"上传文件数量超出500个限制,开通超级会员后可继续上传", 其实是限制拖入500张相片,并非限制上传500张. 非会员如何将众多文件 ...