一、csv模块读文件

1. csv.reader–可迭代对象

通过索引获取文档内容

def csv_read():file = open('./txt/names.csv','r')reader = csv.reader(file)head = next(reader)print(head)for line in reader:print('{}:{} -- {}:{}'.format(head[0],line[0],head[1],line[1]))

输出

['first_name', 'last_name']
first_name:Wonderful -- last_name:Spam
first_name:Lovely -- last_name:Spam
first_name:Baked -- last_name:Beans

2. csv.reader的namedtuple

def csv_read_nametuple():'''namedtuple 可通过属性访问'''file = open('./txt/names.csv', 'r')reader = csv.reader(file)head = next(reader)print(head)# 构建一个namedtuple的模板from collections import namedtupleRow = namedtuple('Rom',head)print(Row)for r in reader:row = Row(*r)# 读取的csv中每一行的内容,实例化Row模板# 通过属性访问print('{}:{} -- {}:{}'.format(head[0],row.first_name,head[1],row.last_name))

输出同上

3. csv.DictReader以字典的形式读取

  • 获取表头 reader.fieldnames
def csv_read_dict():file = open('./txt/names.csv', 'r')reader = csv.DictReader(file)fieldname = reader.fieldnames# 获取表头for r in reader:print('{}:{} -- {}:{}'.format(fieldname[0], r['first_name'],fieldname[1], r['last_name']))

输出同上

二、csv模块写文件

1. 单个属性写入csv.writer

import csv
def csv_write():fw = open('./txt/charater2number.csv','w',newline='',encoding='utf-8')write = csv.writer(fw)number = range(65, 70)char = list(map(chr, number))for i in range(len(char)):write.writerow([char[i],number[i]])#
if __name__ == '__main__':csv_write()


不设置newline时,默认是\n

3. 元组形式写入csv.Writer

def write_tuple():file = open('./txt/person information.csv','w',encoding='utf8',newline='')head = ['ID','Name','Gender']rows = [(1,'Amy','F'),(2,'Tommy','M'),(3,'Blair','F'),]writer = csv.writer(file)writer.writerow(head)# 写入表头writer.writerows(rows) # 写入主题内容,接收列表对象file.close()

2. 字典形式写入csv.DictWriter

写入的单行writer.writerow和多行writer.writerows
writer.writeheader()# 写入文件头

import csvdef csv_write_rows():with open('./txt/names.csv', 'w', newline='') as csvfile:fieldnames = ['first_name', 'last_name']writer = csv.DictWriter(csvfile, fieldnames=fieldnames)writer.writeheader()# 写入文件头# 单行写入# writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'})# writer.writerow({'first_name': 'Lovely', 'last_name': 'Spam'})# writer.writerow({'first_name': 'Wonderful', 'last_name': 'Spam'})# 多行写入writer.writerows([{'first_name': 'Wonderful', 'last_name': 'Spam'},\{'first_name': 'Lovely', 'last_name': 'Spam'}, \{'first_name': 'Baked', 'last_name': 'Beans'}])
if __name__ == '__main__':csv_write_rows()

python中csv模块读写文件相关推荐

  1. python中csv模块是自带的吗_python csv模块 Python的CSV模块,怎么新建为添加模式

    在python 3.5.2中csv模块怎么 安装 首先打开cmd,Ctrl + R快捷键.输入cmd,点击回车.在cmd命令窗口输入python,检查环境是否配置好.退出环境exit().输入 pip ...

  2. python中shutil模块_python文件、文件夹、压缩包处理模块-shutil模块-阿里云开发者社区...

    shutil模块 高级的文件.文件夹.压缩包 处理模块 本节内容基本在linux下python交互环境实现 复制移动文件.文件夹 将文件内容拷贝到另一个文件中,可以部分内容 格式如下: ``` shu ...

  3. python中json模块读写数据

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写 一.json字符串操作 python对象转成json字符串json.dumps()及js ...

  4. python中的rt_Python 读写文件中w与wt, r与rt的区别

    w和wt是一们的,r和rt是一样的,t是默认参数,可以省略的,help(open)就能看到open的参数的详细说明. w,r,wt,rt都是python里面文件操作的模式. w是写模式,r是读模式. ...

  5. python中docx模块的使用_python使用docx模块读写docx文件的方法与docx模块常用方法详解...

    一,docx模块 Python可以利用python-docx模块处理word文档,处理方式是面向对象的.也就是说python-docx模块会把word文档,文档中的段落.文本.字体等都看做对象,对对象 ...

  6. python导入excel文件-python使用xlrd模块读写Excel文件的方法

    本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...

  7. Python使用openpyxl模块读写excel文件

    Python使用openpyxl模块读写excel文件 openpyxl是一个用于写入和读取xlsx格式的excel文件的Python模块. excel2010后的后缀名为xlsx,不再是xls,使用 ...

  8. 解决python中csv文件中文写入问题

    解决python中csv文件中文写入问题 参考文章: (1)解决python中csv文件中文写入问题 (2)https://www.cnblogs.com/harrymore/p/10063775.h ...

  9. 使用python中openpyxl模块操作excel文件,计算单元格分子式的相对分子质量(一)

    背景:本人是力学专业博士,从事分子动力学模拟,最近需要对结果进行数据分析,其中一项就是计算每一时刻的不同分子式的相对分子质量并将最大相对分子质量输出,换出曲线图.已知,分子式数据均保存在excel文件 ...

最新文章

  1. Linux事件循环阻塞,深入浅析Node.js 事件循环、定时器和process.nextTick()
  2. Linux系统命令三剑客之 awk
  3. Opencv学习笔记(六)SURF学习笔记
  4. 2021-08-25路演的反馈
  5. Netcdf中时间的格式化
  6. 北航 2012 秋季 软件工程课 M2 要求
  7. 多备份与Symantec NBU备份软件对比
  8. 如何免费将jpg转换为word可编辑
  9. 可汗学院-统计学-学习笔记
  10. Linux中ps命令详解
  11. 优达学城计算机视觉pkl,优达学城机器学习工程师纳米学位项目介绍
  12. PS2021 入门使用技巧
  13. Android开源的社交应用
  14. MacOS系统安装fish,替代bash
  15. Haploview做单倍型分析
  16. 现代控制—状态反馈极点配置函数(计算反馈增益k)
  17. 管理信息系统期末复习资料
  18. MySQL EXPLAIN ANALYZE
  19. 消防电气IP防护等级如何定义和解读
  20. 从MLPerf谈起:如何引领AI加速器的下一波浪潮

热门文章

  1. UNICODE与多字节字符集等字符问题
  2. BOOL 值在 debug 和 release 模式下初始化不一样!!!
  3. 我为什么鼓励工程师写blog
  4. 【学术相关】李沐:如何把近十页的论文读成半页
  5. 【小白学习PyTorch教程】三、Pytorch中的NN模块并实现第一个神经网络模型
  6. 【Python】五种Pandas图表美化样式汇总
  7. 【机器学习基础】Python机器学习入门指南(全)
  8. Numpy练习题100题-提高你的数据分析技能
  9. 【论文阅读】开放域问答论文总结,文本召回与问答的另一种思路
  10. Model Search:炼丹师最强危机,谷歌开源最强AutoML工具!