python的panda库读写文件

news2024/9/22 15:43:32

目录

1.读取excel文件

(1)语法

(2)实例

2.读取cvs文件

(1)语法

(2)实例

3.读取txt文件

(1)语法

(2)实例

4.写入文件

(1)语法

(2)实例


1.读取excel文件

(1)语法

import pandas  as pd
data = pd.read_excel(io,
    sheet_name=0,
    header=0,
    names=None,
    index_col=None,
    usecols=None,
    squeeze=False,
    dtype=None,
    engine=None,
    converters=None,
    true_values=None,
    false_values=None,
    skiprows=None,
    nrows=None,
    na_values=None,
    keep_default_na=True,
    na_filter=True,
    verbose=False,
    parse_dates=False,
    date_parser=None,
    thousands=None,
    comment=None,
    skipfooter=0,
    convert_float=True,
    mangle_dupe_cols=True)

常用参数说明

io:读取的excel文件名,如r'./vote.excel'。

sheet_name: excel文件中的sheet表名。

header: 哪一行设置为列索引,默认是第一行,即header = 0。

names: 列索引名。

index_col: 使用哪一列作为行索引,默认从0开始。

usecols: 读取表格中哪几列,必须是位置索引。

skiprows: 跳过前几行读取文件,默认从0开始。

nrows: 读取多少行数据。

(2)实例

读取文件中的分类sheet的指定列的六行数据。

import pandas as pd
data  = pd.read_excel(r'.\data\sep_word - 1.0.xlsx',sheet_name= '分类',header= 0,nrows=6,usecols=[0,1,3,5])
data

输出结果为

 解释:usecols=[0,1,3,5]是指第1,2,4,6列。


2.读取cvs文件

(1)语法

import pandas  as pd
data = pd.read_cvs(filepath_or_buffer: FilePathOrBuffer,
    sep=",",
    delimiter=None,
    # Column and Index Locations and Names
    header="infer",
    names=None,
    index_col=None,
    usecols=None,
    squeeze=False,
    prefix=None,
    mangle_dupe_cols=True,
    # General Parsing Configuration
    dtype=None,
    engine=None,
    converters=None,
    true_values=None,
    false_values=None,
    skipinitialspace=False,
    skiprows=None,
    skipfooter=0,
    nrows=None,
    # NA and Missing Data Handling
    na_values=None,
    keep_default_na=True,
    na_filter=True,
    verbose=False,
    skip_blank_lines=True,
    # Datetime Handling
    parse_dates=False,
    infer_datetime_format=False,
    keep_date_col=False,
    date_parser=None,
    dayfirst=False,
    cache_dates=True,
    # Iteration
    iterator=False,
    chunksize=None,
    # Quoting, Compression, and File Format
    compression="infer",
    thousands=None,
    decimal: str = ".",
    lineterminator=None,
    quotechar='"',
    quoting=csv.QUOTE_MINIMAL,
    doublequote=True,
    escapechar=None,
    comment=None,
    encoding=None,
    dialect=None,
    # Error Handling
    error_bad_lines=True,
    warn_bad_lines=True,
    # Internal
    delim_whitespace=False,
    low_memory=_c_parser_defaults["low_memory"],
    memory_map=False,
    float_precision=None)

参数说明:

csv文件是以逗号为分隔符的文件,读取参数与excel基本类似,文件为gbk格式的csv,若不设置encoding参数,会报错。

encoding:默认为'utf-8',还有中文编码‘gbk’、‘gb18030’、‘gb2312’。

就我们关心的汉字而言,三种编码方式的表示范围是:
GB18030 > GBK > GB2312
即GBK是GB2312的超集,GB1803又是GBK的超集。
一般读取中文文本可以直接用encoding =GB18030

(2)实例

直接读取不设置编码方式,储存方式可能存在gbk格式,中文会乱码。

import pandas as pd
data = pd.read_csv(r'.\python\python数据分析\word.csv')
data

输出结果为:

一般用encoding= 'utf-8'可以解决很多编码乱码问题,但是还是报错。

显示:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 37: invalid start byte

 可能是因为中文储存的时候是gbk格式,utf-8还是识别不了一些编码,所以可以尝试用gbk,需要设置编码方式encoding='gbk'。

import pandas as pd
data = pd.read_csv(r'.\python\python数据分析\word.csv',encoding='gbk')
data

 输出结果为:

只想查看前10行数据用head函数。

data.head(10) #查看前十行数据

data.head()  #默认显示前5行数据


3.读取txt文件

(1)语法

import pandas  as pd
data = pd.read_table(filepath_or_buffer: FilePathOrBuffer,
    sep="\t",
    delimiter=None,
    # Column and Index Locations and Names
    header="infer",
    names=None,
    index_col=None,
    usecols=None,
    squeeze=False,
    prefix=None,
    mangle_dupe_cols=True,
    # General Parsing Configuration
    dtype=None,
    engine=None,
    converters=None,
    true_values=None,
    false_values=None,
    skipinitialspace=False,
    skiprows=None,
    skipfooter=0,
    nrows=None,
    # NA and Missing Data Handling
    na_values=None,
    keep_default_na=True,
    na_filter=True,
    verbose=False,
    skip_blank_lines=True,
    # Datetime Handling
    parse_dates=False,
    infer_datetime_format=False,
    keep_date_col=False,
    date_parser=None,
    dayfirst=False,
    cache_dates=True,
    # Iteration
    iterator=False,
    chunksize=None,
    # Quoting, Compression, and File Format
    compression="infer",
    thousands=None,
    decimal: str = ".",
    lineterminator=None,
    quotechar='"',
    quoting=csv.QUOTE_MINIMAL,
    doublequote=True,
    escapechar=None,
    comment=None,
    encoding=None,
    dialect=None,
    # Error Handling
    error_bad_lines=True,
    warn_bad_lines=True,
    # Internal
    delim_whitespace=False,
    low_memory=_c_parser_defaults["low_memory"],
    memory_map=False,
    float_precision=None)

参数说明:

txt文件是以指制表符\t为分隔符的文件,参数与excel、csv基本类似,不同的地方在于必须要指定sep。

sep:默认为'\t'。

(2)实例

读取竞选文档。

data = pd.read_table(r'.\python\python数据分析\智能空调项目\python_study\vote.txt')
data

输出结果为:


4.写入文件

excel,csv,txt写入文件的方式基本类似,以pandas的to_xx()方式写入。

(1)语法

#写入excel文件
to_excel(
        self,
        excel_writer,
        sheet_name="Sheet1",
        na_rep="",
        float_format=None,
        columns=None,
        header=True,
        index=True,
        index_label=None,
        startrow=0,
        startcol=0,
        engine=None,
        merge_cells=True,
        encoding=None,
        inf_rep="inf",
        verbose=True,
        freeze_panes=None
    ) 

 常用参数说明:

index: 是否保留行索引,默认是True保留,False表示不保留。

columns: 通过列索引指定所需列。

sheet_name: 表名,默认为‘sheet1’。

encoding:编码格式,utf-8或者gbk。

na_rep: 缺失值填充,可指定为0。

index_label: 行索引标签。

header: 默认为True,False没有列索引,如需更改列名,则header = ["列1","列2","列3"]

(2)实例

将txt文档写为xlsx文件。

import pandas as pd #导入pandas库
#读入txt文档
data = pd.read_table(r'.\python\python数据分析\智能空调项目\python_study\vote.txt',sep='\t')
#写入excel文档
data.to_excel(r'./vote.xlsx',sheet_name='vote',na_rep='')

参考文章:

python学习之路--pandas读写文件 - 知乎 (zhihu.com)

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

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

相关文章

【driver.js】基础使用

介绍 driver.js: 轻量级、无依赖性、普通的 JavaScript 引擎,可在整个页面上推动用户的注意力; 🔆突出显示页面上的任何(字面上的任何)项目✋阻止用户交互📣 创建功能介绍👓为用户添加焦点转移器&#x1f6…

【Flask框架】——21 Flask上下文

上下文:即语境,语意,在程序中可以理解为在代码执行到某一时刻时,根据之前代码所做的操作以及下文即将要执行的逻辑,可以决定在当前时刻下可以使用到的变量,或者可以完成的事情。 Flask中有两种上下文&…

UDP的报文结构和注意事项

UDP的报文结构和注意事项一、传输层协议二、UDP报文结构一、传输层协议 传输层实现了端到端之间的传输,重点关注的是起点和终点。 核心的协议有两个: 二、UDP报文结构 大部分教科书给出的报文结构都是这样的: 其实只是为了排版方便~~ 实…

关于进程的几个问题

作者:~小明学编程 文章专栏:JavaEE 格言:热爱编程的,终将被编程所厚爱。 今天给大家分享几个关于进程的小问题 1.什么是进程? 2.进程是怎么管理的? 3.进程里面的PCB里都有啥? 4.进程的调度是怎…

解释器模式

文章目录解释器模式1.解释器模式的本质2.何时选用解释器模式3.优缺点4.解释器模式的结构5.实现计算器加减操作解释器模式 当想解析一个文件或者其他内容时,可以根据规律自己定义一种文法,并定义一个解释器,然后解析这种文法,以达到…

MATLAB-自定义函数拟合(fittype-高斯拟合)

在回归拟合分析时,一般情况下,MATLAB会直接提供常用的类型,用fittype创建拟合模型,至于MATLAB具体提供了哪些模型,参见帮助“List of library models for curve and surface fitting”,如果库中没有自己想要的拟合表达式形式,可以自己进行定义,具体介绍如下: 1. fitty…

嵌入式:ARM间接寻址、变址寻址与多寄存器寻址

文章目录寄存器间接寻址基址加偏址寻址(变址寻址)偏移地址传送数据类型块拷贝寻址(多寄存器寻址)块拷贝寻址示例寄存器间接寻址 寄存器间接寻址就是以寄存器中的值作为操作数的地址,而操作数本身存放在存储器中。例如…

尚医通 (三十七) --------- 定时任务与统计

目录一、就医提醒1. 搭建定时任务模块 service-task2. 添加就医提醒处理二、预约统计1. ECharts2. 获取医院每天平台预约数据接口3. 添加 feign 方法4. 搭建 service-statistics5. 前端展示一、就医提醒 我们通过定时任务,每天 8 点执行,提醒就诊。 1.…

[附源码]Python计算机毕业设计Django校园招聘系统设计

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

Android Accessibility知识分享

工具 工欲善其事,必先利其器。下面我们介绍一下工具来发现我们的accessibility问题。感谢这篇文章的分享:https://www.kodeco.com/240-android-accessibility-tutorial-getting-started Lint:这个工具是google提供的,在android …

python--面向对象以及其三大特性(封装、继承、多态)

文章目录前言一、面向过程二、 面向对象三、面向对象的三大特性一、封装二、继承私有属性和私有方法三、多态四、高级特性单例模式前言 这一节主要学习面向对象以及面向对象的三大特性:封装、继承、多态;还有高级特性:类方法、静态方法、pro…

【OpenFeign】【源码+图解】【二】注册OpenFeign接口的实例

【OpenFeign】【源码图解】【一】HelloWorld及其工作原理 目录3. 注册OpenFeign接口的实例3. 注册OpenFeign接口的实例 从HelloWorld中我们看到需要显示加入**EnableFeignClients注解才能开启openFeign的功能,因此它就成为我们分析openFeign**的入口,先…

Chrony时间同步服务

目录 一、时间同步 1.概念 2.时间同步在运维工作中的作用 3.时间同步完成方法 (1)NTP时间服务(centos 6 ) (2)Chrony时间服务 二、Chrony时间服务 1.Chrony介绍 2.Chrony的优点 三、Chrony安装 …

逻辑回归(Logistic Regression)原理及过程

目录 一:逻辑回归简介 二:逻辑回归原理 三:逻辑回归 损失函数 四:逻辑回归 梯度下降算法 五:逻辑回归 过程 一:逻辑回归简介 Logistic模型是1938年Verhulst-Pearl在修正非密度方程时提出来的&#xf…

算法刷题打卡第49天:排序数组---计数排序

排序数组 难度:中等 给你一个整数数组 nums,请你将该数组升序排列。 示例 1: 输入:nums [5,2,3,1] 输出:[1,2,3,5]示例 2: 输入:nums [5,1,1,2,0,0] 输出:[0,0,1,1,2,5]计数排…

我与世界杯的故事——达利奇:铜牌闪耀着金光

目录 克罗地亚球队的历史 奇迹出现 心得总结 克罗地亚球队的历史 克罗地亚球队拥有悠久的历史: 1998年首次亮相法国世界杯,克罗地亚就以季军的战绩惊艳众人。 2018年的俄罗斯世界杯,虽然格子军团在决赛中不敌强大的法国,遗憾地…

<Linux进程通信之共享内存>——《Linux》

目录 一、system V共享机制 1.共享内存示意图 2.共享内存数据结构 3.共享内存函数 3.1shmget函数 3.2 shmat函数 3.3 shmdt函数 3.4 shmctl函数 3.5 实例代码: 3.6 结果演示: 4. 创建共享内存 5. 基于共享内存与管道进行访问控制的共享内存读…

(P4)Python plt显示图像

Python plt显示图片 本地可以显示,服务器操作不太行。 plt.plot(x,y) plt.imshow(image) plt.show() # 显示图像(曲线/图片都需要这一行) plt.savefig(xx.png) # 保存图片 fig.savefig(xx.png) 功能相同 # 保存图片在本地执行失败&#xff…

Elasticsearch学习笔记

Elasticsearch学习笔记 ----第1章 Elasticsearch概述-01-开篇02-技术选型03-教学大纲-第2章 Elasticsearch入门-04-入门-环境准备05-入门-RESTful & JSON06-入门-Postman客户端工具07-入门-倒排索引08-入门-HTTP-索引-创建09-入门-HTTP-索引-查询 & 删除10-入门-HTTP-…

Linux 调试之 TRACE_EVENT(一)

文章目录前言一、TRACE_EVENT简介二、TRACE_EVENT() 结构2.1 TRACE_EVENT简介2.2 trace_sched_switch示例2.2.1 Name2.2.2 Prototype2.2.3 Arguments2.2.4 Structure2.2.5 Assignment2.2.6 Print2.3 Format file2.3.1 tracing/events/2.3.2 perf2.3.3 bpftrace2.3.4 bcc2.3.5 S…