python里读写excel等数据文件的6种常用方式(小结)

 更新时间:2021年04月15日 14:25:04   作者:Python学习者  
这篇文章主要介绍了python里读写excel等数据文件的6种常用方式(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

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

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

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='<U5')

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 np
x = 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 pd
pd.read_csv('test.csv')

read_excel方法

读取excel文件,包括xlsx、xls、xlsm格式

import pandas as pd
pd.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数据

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非关系型数据库的交互

到此这篇关于python里读写excel等数据文件的6种常用方式(小结)的文章就介绍到这了,更多相关python读写excel内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python正则表达式和re库知识点总结

    Python正则表达式和re库知识点总结

    在本篇文章中小编给大家分享了关于Python正则表达式和re库知识点内容,有兴趣的朋友们学习下。
    2019-02-02
  • 使用Python实现图像融合及加法运算

    使用Python实现图像融合及加法运算

    这篇文章主要介绍了使用Python实现图像融合及加法运算,Python调用OpenCV实现图像融合及加法运算,包括三部分知识:图像融合、图像加法运算、图像类型转换,下文详细内容现需要的小伙伴可以参考一下
    2022-05-05
  • Python优化技巧之利用ctypes提高执行速度

    Python优化技巧之利用ctypes提高执行速度

    ctypes是Python的一个外部库,提供和C语言兼容的数据类型,可以很方便地调用C DLL中的函数。今天我们就来详细探讨下ctypes库的使用技巧
    2016-09-09
  • Python中条件语句、循环语句和pass语句的使用示例

    Python中条件语句、循环语句和pass语句的使用示例

    Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块,下面这篇文章主要给大家介绍了关于Python中条件语句、循环语句和pass语句使用的相关资料,需要的朋友可以参考下
    2022-06-06
  • python远程调用rpc模块xmlrpclib的方法

    python远程调用rpc模块xmlrpclib的方法

    今天小编就为大家分享一篇python远程调用rpc模块xmlrpclib的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python OpenCV超详细讲解图像堆叠的实现

    Python OpenCV超详细讲解图像堆叠的实现

    OpenCV用C++语言编写,它具有C ++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS,OpenCV主要倾向于实时视觉应用,并在可用时利用MMX和SSE指令,本篇文章带你通过OpenCV实现图像堆叠
    2022-04-04
  • python实现多层感知器MLP(基于双月数据集)

    python实现多层感知器MLP(基于双月数据集)

    这篇文章主要为大家详细介绍了python实现多层感知器MLP,基于双月数据集,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • Python如何提取chm数据

    Python如何提取chm数据

    这篇文章主要介绍了Python如何提取chm数据,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • python3 kmp 字符串匹配的方法

    python3 kmp 字符串匹配的方法

    这篇文章主要介绍了python3 kmp 字符串匹配的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Python实现暴力破解有密码的zip文件的方法

    Python实现暴力破解有密码的zip文件的方法

    这篇文章主要介绍了Python实现暴力破解有密码的zip文件的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03

最新评论