今天小编来给大家分享一下如何通过Python进行数据的读写,但是本篇文章我们主要集中在如何将数据写入到各种不同类型的文件当中去,主要涵盖的类型有

  • txt文件

  • Word文档

  • csv文件

  • tsv文件

  • Excel文件

  • json文件

txt文件类型

那么首先是txt的文件类型,我们所要输入的文本内容如下所示

lines = ['Alice in Wonderland (2010 film)','Alice in Wonderland is a 2010 American dark fantasy period film directed by Tim Burton from a screenplay written by Linda Woolverton.','The film stars Mia Wasikowska in the title role, with Johnny Depp, Anne Hathaway, Helena Bonham Carter, Crispin Glover, and Matt Lucas, and features the voices of Alan Rickman, Stephen Fry, Michael Sheen, and Timothy Spall.','Alice in Wonderland was produced by Walt Disney Pictures and shot in the United Kingdom and the United States. ','The film premiered in London at the Odeon Leicester Square on February 25, 2010.'
]

看得出来,这个是“爱丽丝探险记”当中的部分内容,我们将其输出至一个txt文件,代码如下

with open('alice-in-wonderland.txt', 'w') as f:for line in lines:f.write(line)f.write('\n')

我们来看一下最后出来的结果,如下图所示

Word文档

要是我们希望将文本内容写入至Word文档当中去,就需要用到python-docx模块,那我们先通过pip命令将其下载下来

pip install python-docx

接下来我们将文本内容写入至Word文档当中去,代码如下

from docx import Documentdocument = Document()
document.add_heading('Alice in Wonderland (2010 film)', 0)
document.add_paragraph('Alice in Wonderland is a 2010 American dark fantasy period film directed by Tim Burton from a screenplay written by Linda Woolverton. \n')
document.add_paragraph('The film stars Mia Wasikowska in the title role, with Johnny Depp, Anne Hathaway, Helena Bonham Carter, Crispin Glover, and Matt Lucas, and features the voices of Alan Rickman, Stephen Fry, Michael Sheen, and Timothy Spall.')
document.add_paragraph('Alice in Wonderland was produced by Walt Disney Pictures and shot in the United Kingdom and the United States. ')
document.add_paragraph('The film premiered in London at the Odeon Leicester Square on February 25, 2010.')
document.save('alice-in-wonderland.docx')

我们来看一下最后输出结果是长什么样子的,如下图所示

csv文件

接下来我们来看一下如何将文本内容输出至csv文件当中去,代码如下

import csvcsv_header_name = ['id', 'firstname', 'lastname', 'age']
each_row = [['1', 'James', 'Moore', '10'],['2', 'Robert', 'Donald', '15'],['3', 'John', 'Jennifer', '12'],['4', 'Michael', 'Patricia', '18'],['5', 'Mary', 'Donald', '14']
]

我们指定好csv文件的文件名,代码如下

csvFileName = 'person.csv'

输出至csv文件的代码如下所示

with open(csvFileName, 'w', newline='') as csvfile:# 写入文件中csv_writer = csv.writer(csvfile)# 将表头写入至文件中csv_writer.writerow(csv_header_name)# 将具体内容写入至文件中csv_writer.writerows(each_row)# 关闭csvfile.close()

我们来看一下最后输出结果是长什么样子的,如下图所示

tsv文件

将文本内容写入至tsv文件当中,过程以及相应的代码都和上面输出至csv文件高度的相似,无非就是上面的代码,我们将输出的文件名改为后缀是tsv结尾即可,这里我们就不做详细的赘述了

Excel文件

这里我们就需要用到Python当中的xlsxwriter模块了,该模块可以支撑以下这几种功能,分别是

  • 单元格的合并

  • 各种图表的绘制

  • 单元格的自动填充

  • 数据的插入

  • 插入各种类型的图片、照片等等

我们通过pip命令来将该模块安装一下,

pip install XlsxWriter

具体的文件内容如下所示

import xlsxwriterpersons = [{'id': 1, 'firstname': "James", 'lastname': 'Moore', 'age': 10},{'id': 2, 'firstname': "Robert", 'lastname': 'Donald', 'age': 15},{'id': 3, 'firstname': "John", 'lastname': 'Jennifer', 'age': 12},{'id': 4, 'firstname': "Michael", 'lastname': 'Patricia', 'age': 18},{'id': 5, 'firstname': "Mary", 'lastname': 'Donald', 'age': 14}
]

我们将上述的文件写入至Excel文件当中去,代码如下

workbook = xlsxwriter.Workbook('person.xlsx')
worksheet = workbook.add_worksheet()
# 表头
worksheet.write('A1', 'id')
worksheet.write('B1', 'firstname')
worksheet.write('C1', 'lastname')
worksheet.write('D1', 'age')
# 插入数据的起始数据
row = 1
col = 0
# 插入数据
for person in persons:worksheet.write(row, col,     person['id'])worksheet.write(row, col + 1, person['firstname'])worksheet.write(row, col + 2, person['lastname'])worksheet.write(row, col + 3, person['age'])row += 1workbook.close()

最后的结果如下图所示

当然也会有人觉得输出的结果会有点普通了,想将其美化一下,调用的是workbook.add_format()方法,例如文字是否需要被加粗、文字的颜色、字体的形态等等,代码如下

workbook = xlsxwriter.Workbook('person.xlsx')
worksheet = workbook.add_worksheet()
# Widen the firstname and lastname column to make the text clearer.
worksheet.set_column('B:C', 20)# Add a bold format to use to highlight cells.
header_cell_format = workbook.add_format({'bold': True, 'font_color': 'red'})
#write headers
worksheet.write('A1', 'id', header_cell_format)
worksheet.write('B1', 'firstname', header_cell_format)
worksheet.write('C1', 'lastname', header_cell_format)
worksheet.write('D1', 'age', header_cell_format)
# Start from the first cell below the headers.
row = 1
col = 0
#insert person data
for person in persons:worksheet.write(row, col,     person['id'])worksheet.write(row, col + 1, person['firstname'])worksheet.write(row, col + 2, person['lastname'])worksheet.write(row, col + 3, person['age'])row += 1workbook.close()

最后的结果如下图所示

json文件

最后我们来看一下如何将文本内容输出至json文件当中去,用到的是json.dump()方法,代码如下

import jsondata = {'persons' : [{'id' : 1,'firstname' : 'James','lastname' : 'Moore','age': 10},{'id' : 2,'firstname' : 'Robert','lastname' : 'Donald','age': 15},{'id' : 3,'firstname' : 'John','lastname' : 'Jennifer','age': 12},]
}

我们将其输出到json格式的文件当中去,代码如下

with open('person.json', 'w') as jsonfile:json.dump(data, jsonfile)pass

最后输出的结果如下图所示

NO.1

往期推荐

Historical articles

惊呆同事的自动化小工具来了!一键实现批量将 PDF 文档转 Word

超全!Python图形界面框架PyQt5使用指南!

用Python制作可视化GUI界面,一键实现证件照背景颜色的替换

用Python制作可视化GUI界面,一键实现多种风格的照片处理

分享、收藏、点赞、在看安排一下?

Python最强干货,建议收藏!!相关推荐

  1. python对象编程例子-这是我见过最详细的Python面向对象编程!建议收藏!

    原标题:这是我见过最详细的Python面向对象编程!建议收藏! 面向对象编程和函数式编程(面向过程编程)都是程序设计的方法,不过稍有区别. 面向过程编程: 1. 导入各种外部库 2. 设计各种全局变量 ...

  2. Oracle 数据怎么实时同步到 Elasticsearch | 亲测干货建议收藏

    摘要: 很多 DBA 同学经常会遇到要从一个数据库实时同步到另一个数据库的问题,同构数据还相对容易,遇上异构数据.表多.数据量大等情况就难以同步.我自己亲测了一种方式,很快实现了Oracle 数据实时 ...

  3. Oracle 数据怎么实时同步到 DM DB 达梦数据库 | 亲测干货建议收藏

    摘要 很多 DBA 同学经常会遇到要从一个数据库实时同步到另一个数据库的问题,同构数据还相对容易,遇上异构数据.表多.数据量大等情况就难以同步.我自己亲测了一种方式,可以很方便地完成 Oracle 数 ...

  4. 大话卷积神经网络CNN,小白也能看懂的深度学习算法教程,全程干货建议收藏!...

    来源 | 程序员管小亮 本文创作的主要目的,是对时下最火最流行的深度学习算法的基础知识做一个简介,作者看过许多教程,感觉对小白不是特别友好,尤其是在踩过好多坑之后,于是便有了写这篇文章的想法. 由于文 ...

  5. python优化算法工具包_这可能是史上最全的 Python 算法集(建议收藏)

    原标题:这可能是史上最全的 Python 算法集(建议收藏) 导读:本文是一些机器人算法(特别是自动导航算法)的Python代码合集.其主要特点有以下三点: 选择了在实践中广泛应用的算法: 依赖最少: ...

  6. python找出图中所有闭合环_这可能是史上最全的 Python 算法集(建议收藏)

    △蓝字可关注并标星 -数据分析展示就用DataHunter- 导读:本文是一些机器人算法(特别是自动导航算法)的Python代码合集.其主要特点有以下三点: 选择了在实践中广泛应用的算法: 依赖最少: ...

  7. python 三次曲线拟合算法_这可能是史上最全的 Python 算法集(建议收藏)

    导读:本文是一些机器人算法(特别是自动导航算法)的Python代码合集. 其主要特点有以下三点: 选择了在实践中广泛应用的算法: 依赖最少: 容易阅读,容易理解每个算法的基本思想. 希望阅读本文后能对 ...

  8. spark 写本地文件_(纯干货建议收藏)一次GC引发的Spark调优大全

    上一篇Tungsten On Spark-内存模型设计总结了Spark内存设计相关的知识点,本篇会快速为读者复习一下JVM相关的知识点,然后基于线上的GC调优对spark整体的调优做一个汇总,希望能让 ...

  9. Spring框架从入门到精通(纯干货,建议收藏)

    文章目录 概述 ioc控制反转 配置文件 使用spring创建对象 给属性赋值 set注入 构造注入 引用类型的自动注入 注解 简单类型属性注入@Value(掌握) 引用类型注入@Autowired ...

最新文章

  1. php中使用Curl、socket、file_get_contents三种方法POST提交数据
  2. 你的企业客户服务,离卓越还有多远?
  3. linux 5556端口,在Linux系统下通过配置iptables实现自动转发报文
  4. vba 您正和其他用户尝试修改同一条数据_专辑二 | Moodle学习之Moodle添加用户
  5. oracle过滤器基础,Oracle培训(四十六)——Servlet第六章知识点总结——过滤器编程...
  6. 数据挖掘与数据化运营实战. 3.12 数据产品
  7. 蓝桥杯2018初赛-哪天返回-模拟
  8. ubuntu中启动oracle数据库
  9. Linq Group By 注意点
  10. JQuery Datatables单元格内显示数据太长,截取部分显示功能
  11. 排序总结---常用的排序算法总结,java和js实现
  12. 修改整个app的字体
  13. APN(default、mms、supl、dun、hipri接入点类型的区别)
  14. Quant量化面试题 数学 逻辑题 过河、生日、烧绳、称重
  15. C# 高并发场景下 共享内存 Actor并发模型到底哪个快?
  16. python调用foxmail 发邮件_使用Python发送邮件
  17. c语言编程正六边形思路,机械cad-cam技术实验指导书2015.doc
  18. c语言中的less函数,less的小白入门介绍
  19. JAVA数组 day03
  20. 数据分析--DataFrame(4)

热门文章

  1. html页面如何获取已经存在的token,移动端通过携带token访问html页面
  2. Wireshark 抓取 iphone 测试机的数据包
  3. java 通过Twitter API v2 提取收藏列表视频数据
  4. 博升机器人_乐博乐博机器人
  5. AG256SL100 与EPM240T100 完全PIN TO PIN兼容
  6. PostgreSQL插入大量数据:pg_testgen插件
  7. “钢管舞女孩”之我见
  8. openwrt软路由怎么中止执行/怎么向上翻屏/怎么清屏
  9. GAMES101-现代计算机图形学学习笔记(作业07)
  10. 什么是生产管理系统?