android读取excel文件_python里读写excel等数据文件的几种常用方式

1ebc898665121ed206b3d624ff4640e6.png

python处理数据文件第一步是要读取数据,文件类型主要包括文本文件(csv、txt等)、excel文件、数据库文件、api等。

下面整理下python有哪些方式可以读取数据文件。

1. python内置方法(read、readline、readlines)

  • read() : 一次性读取整个文件内容。推荐使用read(size)方法,size越大运行时间越长
  • readline() :每次读取一行内容。内存不够时使用,一般不太用
  • readlines() :一次性读取整个文件内容,并按行返回到list,方便我们遍历

具体用法可见: 一文搞懂python文件读写

2. 内置模块(csv)

python内置了csv模块用于读写csv文件,csv是一种逗号分隔符文件,是数据科学中最常见的数据存储格式之一。 csv模块能轻松完成各种体量数据的读写操作,当然大数据量需要代码层面的优化。

  • csv模块读取文件
# 读取csv文件import csv  with open('test.csv','r') as myFile:      lines=csv.reader(myFile)      for line in lines:          print (line)  
  • csv模块写入文件
import csv  with open('test.csv','w+') as myFile:          myWriter=csv.writer(myFile)      # writerrow一行一行写入    myWriter.writerow([7,8,9])      myWriter.writerow([8,'h','f'])      # writerow多行写入    myList=[[1,2,3],[4,5,6]]      myWriter.writerows(myList)  

3. 使用numpy库(loadtxt、load、fromfile)

  • loadtxt方法 loadtxt用来读取文本文件(包含txt、csv等)以及.gz 或.bz2格式压缩文件,前提是文件数据每一行必须要有数量相同的值。
import numpy as np# loadtxt()中的dtype参数默认设置为float# 这里设置为str字符串便于显示np.loadtxt('test.csv',dtype=str)# out:array(['1,2,3', '4,5,6', '7,8,9'], dtype='
  • load方法 load用来读取numpy专用的.npy, .npz 或者pickled持久化文件。
import numpy as np# 先生成npy文件np.save('test.npy', np.array([[1, 2, 3], [4, 5, 6]]))# 使用load加载npy文件np.load('test.npy')'''out:array([[1, 2, 3],       [4, 5, 6]])'''
  • fromfile方法 fromfile方法可以读取简单的文本数据或二进制数据,数据来源于tofile方法保存的二进制数据。读取数据时需要用户指定元素类型,并对数组的形状进行适当的修改。
import numpy as npx = np.arange(9).reshape(3,3)x.tofile('test.bin')np.fromfile('test.bin',dtype=np.int)# out:array([0, 1, 2, 3, 4, 5, 6, 7, 8])

4. 使用pandas库(read_csv、read_excel等)

pandas是数据处理最常用的分析库之一,可以读取各种各样格式的数据文件,一般输出dataframe格式。 如:txt、csv、excel、json、剪切板、数据库、html、hdf、parquet、pickled文件、sas、stata等等

  • read_csv方法 read_csv方法用来读取csv格式文件,输出dataframe格式。
import pandas as pdpd.read_csv('test.csv')
  • read_excel方法 读取excel文件,包括xlsx、xls、xlsm格式
import pandas as pdpd.read_excel('test.xlsx')
  • read_table方法 通过对sep参数(分隔符)的控制来对任何文本文件读取
  • read_json方法 读取json格式文件
df = pd.DataFrame([['a', 'b'], ['c', 'd']],index=['row 1', 'row 2'],columns=['col 1', 'col 2'])j = df.to_json(orient='split')pd.read_json(j,orient='split')
  • read_html方法 读取html表格
  • read_clipboard方法 读取剪切板内容
  • read_pickle方法 读取plckled持久化文件
  • read_sql方法 读取数据库数据,连接好数据库后,传入sql语句即可
  • read_dhf方法 读取hdf5文件,适合大文件读取
  • read_parquet方法 读取parquet文件
  • read_sas方法 读取sas文件
  • read_stata方法 读取stata文件
  • read_gbq方法 读取google bigquery数据

pandas学习网站: https://pandas.pydata.org/

5、读写excel文件(xlrd、xlwt、openpyxl等)

python用于读写excel文件的库有很多,除了前面提到的pandas,还有xlrd、xlwt、openpyxl、xlwings等等。

主要模块:

  • **xlrd库:**从excel中读取数据,支持xls、xlsx
  • **xlwt库:**对excel进行修改操作,不支持对xlsx格式的修改
  • **xlutils库:**在xlw和xlrd中,对一个已存在的文件进行修改
  • **openpyxl:**主要针对xlsx格式的excel进行读取和编辑
  • **xlwings:**对xlsx、xls、xlsm格式文件进行读写、格式修改等操作
  • **xlsxwriter:**用来生成excel表格,插入数据、插入图标等表格操作,不支持读取
  • **Microsoft Excel API:**需安装pywin32,直接与Excel进程通信,可以做任何在Excel里可以做的事情,但比较慢

6. 操作数据库(pymysql、cx_Oracle等)

python几乎支持对所有数据库的交互,连接数据库后,可以使用sql语句进行增删改查。

主要模块:

  • **pymysql:**用于和mysql数据库的交互
  • **sqlalchemy:**用于和mysql数据库的交互
  • **cx_Oracle:**用于和oracle数据库的交互
  • **sqlite3:**内置库,用于和sqlite数据库的交互
  • **pymssql:**用于和sql server数据库的交互
  • **pymongo:**用于和mongodb非关系型数据库的交互
  • **redis、pyredis:**用于和redis非关系型数据库的交互

使用参考地址: https://blog.csdn.net/a87b01c14/article/details/51546727

关于如何使用python连接mysql: pymysql操作实例

6b1adb9d8c8cacd1083bc9a89b2fa243.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359458.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UGUI学习笔记之渲染顺序

转载请注明地址:http://www.cnblogs.com/Vincentblogs/p/4083028.html QQ群:346738352 Unity技术交流群,讲纯粹的技术。 数据记录为Unity4.6b21版本 图片解释:这是一个按钮UI,层级1显示的是按钮背景,层级2显示的Image…

C#找出数组中重复次数最多的数值

给定一个int数组,里面存在重复的数值,如何找到重复次数最多的数值呢? 这是在某社区上有人提出的问题,我想到的解决方法是分组。 1、先对数组中的所有元素进行分组,那么,重复的数值肯定会被放到一组中; 2、…

spark-sql建表语句限制_第三篇|Spark SQL编程指南

在《第二篇|Spark Core编程指南》一文中,对Spark的核心模块进行了讲解。本文将讨论Spark的另外一个重要模块--Spark SQL,Spark SQL是在Shark的基础之上构建的,于2014年5月发布。从名称上可以看出,该模块是Spark提供的关系型操作AP…

4固定在底部_礼堂椅厂家教你如何固定座椅

礼堂椅厂家众所周知,当人们离开时,礼堂或刷房中使用的座椅会自动翻转到垂直位置,因此行和行之间有一条大通道让人走路。 在现有技术中,通过以下方法翻转礼堂椅:在两个支腿之间设置固定轴,并且在支座底部的两…

python时间去掉t_Python的set集合详解

Python 还包含了一个数据类型 —— set (集合)。 集合是一个无序不重复元素的集。基本功能包括关系测试和消除重复元素。 集合对象还支持 union(联合),intersection(交),difference&…

快乐学习 Ionic Framework+PhoneGap 手册1-3 {面板切换}

编程的快乐和乐趣&#xff0c;来自于能成功运行程序并运用到项目中,会在后面案例&#xff0c;实际运用到项目当中与数据更新一起说明 从面板切换开始&#xff0c;请看效果图和代码&#xff0c;这只是一个面板切换的效果 Index HTML Code <!DOCTYPE html> <html ng-ap…

去掉左边0_SLAM从0到1——11. 视觉里程计VO内容框架

「本文是之前学习VO 部分整理的思维导图&#xff0c;笔记写入之后均折叠了起来&#xff0c;正文中采用markdown格式展开&#xff0c;可看到笔记内容」放上来的目的其实是方便自己查阅笔记&#xff0c;同样给有需要的同学提供一点思路。整体上的结构分为5部分&#xff0c;包括常…

教程:如何实现Java OAuth 2.0以使用GitHub和Google登录

将Google和GitHub OAuth登录添加到Java应用程序的指南 我们添加到Takipi的最新功能之一是3rd party登录。 如果您像我一样懒惰&#xff0c;那么我想您也希望跳过填写表单和输入新密码的操作 。 只要有权限&#xff0c;许多人都希望使用第三方登录&#xff0c;只要他们要求的权…

柔性太阳能电池pdf_房车旅行如何做到电力无忧,那就选择一套合适的太阳能供电系统吧...

“旅行途中房车电力够不够用&#xff1f;”是众多车友在购买房车时会考虑的因素之一。而房车外部供电方式一般有三种&#xff1a;电网供电、发电机发电和太阳能发电&#xff0c;其中太阳能发电因其结构简单、体积小且轻、易安装、维护简单、寿命长不易损坏、一次性投资、循环利…

POJ 3617

题意&#xff1a;给定长度为N的字符串S&#xff0c;现要构造一个字符串T&#xff08;起初为空串&#xff09;。任意进行一下的一种操作&#xff1a; 1>从S的头部删除一个字符&#xff0c;加到T的尾部 2>从S的尾部删除一个字符&#xff0c;加到T的尾部 目的使T的字典序最小…

echarts的词云图表类型有哪些_数据可视化之常见12种图表类型分析

数据可视化有众多展现方式&#xff0c;不同的数据类型要选择适合的展现方法&#xff0c;今天友创云天就整理分析了几种常见的类型&#xff0c;给大家提供参考。1.饼图饼图是一个划分为几个扇形的圆形统计图表。每个扇形的弧长&#xff08;以及圆心角和面积&#xff09;大小&…

使用Spring Boot和注释支持配置Spring JMS应用程序

1.简介 在以前的文章中&#xff0c;我们学习了如何使用Spring JMS配置项目。 如果查看有关使用Spring JMS进行消息传递的文章介绍 &#xff0c;您会注意到它是使用XML配置的。 本文将利用Spring 4.1版本中引入的改进 &#xff0c;并仅使用Java config来配置JMS项目。 在这个示…

室内主题元素分析图_2020届室内设计专业优秀毕业设计作品展(五)

“环”食疗养生空间概念设计△建筑外立面▲LOGO前 言每当人们提及健康时&#xff0c;人们的反应往往是运动、睡眠和饮食。现代的青年上班族&#xff0c;又因为快节奏的生活&#xff0c;工作压力大&#xff0c;饮食的不规律&#xff0c;生活不良习性的增加&#xff0c;导致了各…

C++输入cin详解

C输入cin详解 输入原理&#xff1a; 程序的输入都建有一个缓冲区&#xff0c;即输入缓冲区。一次输入过程是这样的&#xff0c;当一次键盘输入结束时会将输入的数据存入输入缓冲区&#xff0c;而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的&#xf…

时间序列的截尾和拖尾_R语言:时间序列(一)

01 解决什么问题在社会活动中经常可见按照时间顺序记录下来的随机事件观察值&#xff0c;例如每年死亡人数序列&#xff0c;每年糖尿病发病人数序列&#xff0c;医院门诊每日诊治病例数序列。这类数据的特性是相邻时间点的观察值之间具有明显的相关性&#xff0c;这一特性不同于…

JVM崩溃时:如何调查最严重错误的根本原因

当应用程序崩溃时&#xff0c;您可以学到什么&#xff1f; 我认为&#xff0c;“后见之明是20 /”是最喜欢的短语之一托马斯罗梅尔 &#xff0c;工程ZeroTurnaround的副总裁。 好吧&#xff0c;我实际上不确定在他的短语中占什么位置&#xff0c;但是我已经听过他几次说了。 鉴…

常用个人密码管理软件

http://www.williamlong.info/archives/3100.html转载于:https://www.cnblogs.com/svennee/p/4099358.html

查看网口命令_20个常用Linux命令

今天总结几个非常常用的Linux命令,其中有几个在面试中很可能问相关命令的原理,比如后台运行命令。希望对大家有所帮助,最好自己去尝试在Linux操作系统中实践一下。 1、查看目录以及权限 在windows中,使用dir查看当前目录中文件。在Linux中使用ls(list)查看当前目录文件。 w…

中统计字符串长度的函数_SQL Server中的字符串分割函数

您是否知道从SQL Server 2016开始&#xff0c;系统就内置STRING_SPLIT函数&#xff0c;该函数用于将字符串分隔的变量拆分为一个可用列表。 对于经常需要分割字符串的技术人员&#xff0c;建议您查看此功能。 STRING_SPLIT是一个表值函数&#xff0c;它返回由定界符分隔的字符串…

JBoss BPM Suite快速指南–将外部数据模型导入BPM项目

您正在从事一个大型项目&#xff0c;在企业中开发规则&#xff0c;事件和流程以满足关键业务需求。 部分要求指出&#xff0c;某个业务部门将提供您的数据模型供您利用。 不会在JBoss BPM Suite数据建模器中设计此数据模型&#xff0c;但是在从业务中心仪表板处理规则&#x…