python 读写数据文件的6种常用方式

2023-11-19

本文主要介绍python读写数据文件的6种常用方式。

1. python内置方法

with open(r'test.xlsx') as f:
    a = f.read()

一般,在应用上述上下文管理器后,可以用如下三种方式进行内置方法的读写操作。

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

2. 内置模块(csv)

python内置了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_csvread_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非关系型数据库的交互
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 读写数据文件的6种常用方式 的相关文章

随机推荐

  • spring boot 简介以及作用

    我们都知道spring是一个功能非常强大的框架 但是它也存在非常不好的弱点 也是对于我们普通的程序员的致命的弱点 就是它的配置文件太多了 而 在开发界一直有一句话 就是约定大于配置 这样一句话 就是说系统 类库 框架应该假定合理的默认值 而
  • JsonObject对象和jsonArrsy数组的获取JDK1.8,添加到表中

    1 基础数据结构 一个合同号对应多个批号 一个批号对应多个车辆 arrivalReport contractContent contractNumber 2021 11 17合同号 orderNumber 2021 11 17 0032订单
  • AbstractQueuedSynchronizer之AQS

    文章目录 AbstractQueuedSynchronizer AQS 概述 基本原理 实现细节 等待队列 state属性 独占模式 ReentrantLock AbstractQueuedSynchronizer AQS 概述 Abstr
  • 爬虫学习笔记(十五)——加密解密

    文章目录 一 概念和作用 1 1 概念 1 2 作用 1 3 常用加密方式 二 字符编码 2 1 进制间转换方法 python 2 2 unicode 三 Base64编码原理 3 1 概念 3 2 作用 3 3 Base64编码表 3 4
  • MySQL备份与恢复

    2 3 1备份MySQL数据库 在MySQL的bin目录下 有一个名为mysqldump的可执行文件 将该bin目录添加到环境变量中 可以利用它在 命令提示符 环境下来备份数据库 语法格式如下 mysqldump opt 要备份的数据库名
  • 词项(term)与词条(token)区别

    传送门
  • Sublime Text 3 全程详细图文教程(转载)

    今天被群里大佬安利了一款文本编辑软件 找了一下相关教程 一 前言 使用Sublime Text 也有几个年头了 版本也从2升级到3了 但犹如寒天饮冰水 冷暖尽自知 最初也是不知道从何下手 满世界地查找资料 但能查阅到的资料 苦于它们的零碎
  • 系统CPU飙高和频繁GC,我要怎么排查

    1 Full GC次数过多 相对来说 这种情况是最容易出现的 尤其是新功能上线时 对于Full GC较多的情况 其主要有如下两个特征 线上多个线程的CPU都超过了100 通过jstack命令可以看到这些线程主要是垃圾回收线程 通过jstat
  • 理解图像的傅里叶变换(细心分析)

    最近在看图像的傅里叶变换 看着频谱图一直没看明白到底为啥是那样的 跟同学研究了好久 终于想明白了 感谢同学的耐心指导 大家相互讨论真的很快就能出结果 多讨论 多学习 图像的傅里叶变换 图像是一个二维的信号 所以对它进行二维的傅里叶变换 对于
  • layui文件上传接口后端具体实现SpringMVC

    做课程设计时候 用到了layui文件上传接口 参考官方文档给出的响应接口文档 code 0 msg data src http cdn layui com 123 jpg 然后具体的上传书写方式分为前端和后端 layui官方并没有说明上传的
  • [1140]linux查看历史命令history

    一 什么是history 在bash功能中 它能记忆使用过的命令 这个功能最大的好处就是可以查询曾经做过的举动 从而可以知道你的运行步骤 那么就可以追踪你曾下达过的命令 以作为除错的工具 二 History的保存 那么命令记录在哪里呢 在h
  • tomcat数据源配置多个ip oracle,tomcat里配置多数据源(数据库连接池) jndi 和项目连接 ssh框架...

    以mysql和oracle数据库为例 我项目以mysql为主 但需要去一个oracle数据库里查询数据 所以只有mysql里表的实体类 但没有oracle数据库实体类 所以配置mysql的数据源有实体类直接把数据源放到session工厂里用
  • 如何修改文件权限

    改变文件权限的两种方法 第一种 符号 sudo chmod 文件身份 操作符 权限符号 文件档案或目录 文件的四种身份 u user文件所有者 g group 文件所属群组 o other 其他拥有者 a all 全部身份 操作符的三种类
  • 4.1 不定积分的概念与性质

    思维导图 学习目标 学习不定积分 我会采取以下几个步骤 1 学习基本的积分表 首先 我会学习基本的积分公式 例如幂函数 指数函数 三角函数 反三角函数等的积分公式 这些公式是不定积分计算的基础 掌握它们是十分重要的 2 理解积分的定义和性质
  • FLOPS、TOPS和FLOPs的区别

    FLOPS 即每秒浮点运算次数 是每秒所执行的浮点运算次数 Floating point operations per second 缩写 FLOPS 的简称 被用来评估电脑效能 FLOPs 注意s小写 是floating point op
  • Android C2DM学习——云端推送

    一 基础知识 当我们开发需要和服务器交互的应用程序时 基本上都需要获取服务器端的数据 比如 地震及时通 就需要及时获取服务器上最新的地震信息 要获取服务器上不定时更新的信息一般来说有两种方法 第一种是客户端使用Pull 拉 的方式 隔一段时
  • LeetCode_Array_42. Trapping Rain Water 接雨水【双指针】【Java】【困难】

    目录 一 题目描述 英文描述 中文描述 示例与说明 二 解题思路 三 AC代码 Java 四 解题过程 第一搏 第二搏 一 题目描述 英文描述 Given n non negative integers representing an el
  • Qt在connect重载信号时使用lambda表达式

    Qt在connect重载信号时使用lambda表达式与一般信号时有所区别 例 QComboBox信号currentIndexChanged有两种参数类型 void currentIndexChanged int index void cur
  • 如何统计DataFrame中各列数据分类的各个不同数据出现的次数

    可以使用 value counts 函数来统计每个不同数据在数据列中出现的次数 例如 假设有一个名为 df 的 DataFrame 其中包含一列名为 col 要统计 col 列中各个不同数据的出现次数 可以使用以下代码 counts df
  • python 读写数据文件的6种常用方式

    本文主要介绍python读写数据文件的6种常用方式 1 python内置方法 with open r test xlsx as f a f read 一般 在应用上述上下文管理器后 可以用如下三种方式进行内置方法的读写操作 read 一次性