pandas处理excel文件和csv文件
一、csv文件
csv以纯文本形式存储表格数据
pd.read_csv('文件名'),可添加参数engine='python',encoding='gbk'
一般来说,windows系统的默认编码为gbk,可在cmd窗口通过chcp查看活动页代码,936即代表gb2312。
例如我的电脑默认编码时gb2312,pycharm默认是utf-8编码,csv内存在中文时会出现错误,可通过指定engine或编码格式解决。

二、excel文件
之前博客写过通过xlrd和xlwt读写xls文件、通过openpyxl读写xlsx文件,而pandas即可处理xls文件、也可处理xlsx文件。
pandas读取的excel结果为一个DataFrame对象,因此DataFrame的许多方法都会被用到,学习DataFrame https://www.cnblogs.com/Forever77/p/11209186.html。
pd.read_excel('文件名'),默认读取文件的第一个sheet页,并将第一行当作column,添加一行从0开始的整数作为index。
常用参数sheet_name='':表示读取文件的哪个sheet页,可以为sheet页名称,也可以使用数字,0表示第一个sheet页;None会读取所有有内容的sheet页。结果为一个字典,字典的key为sheet页名称,value为sheet页内容;默认读取第一个sheet页
index_col:将哪一列当作index列,默认添加一列从0开始的整数作为index,通过指定index_col='列名'指定索引列
header:将哪一行当作表头,即DataFrame的columns,默认将sheet页的第一行当作表头,header=1则将第二行当做表头
假设有一个excel表格内容如下图1,使用pandas读取结果分别如下。
import pandas as pd
df = pd.read_excel('fruit.xlsx')
print(df)
print(df.values)
print(df['名称'])
print(df.loc[1])
print(df.loc[2,'单价/元'])


①df = pd.read_excel('fruit.xlsx'),表示通过pandas读取excel并加载为DataFrame,从图2可以看出如果读取时不设置索引,pandas会自动生成一列,该列值从0开始,表示行索引。
②图2中红框中的部分即为DataFrame的值,可通过df.values获取,结果如图3,类似列表的形式,数据类型为<class 'numpy.ndarray'>;
③图2数据部分有三列,列的名字为第一行的内容,即列索引,可通过df[列名]获取某一列的内容,结果如图4所示;
④pandas自动生成的行索引从0开始,可通过pd.loc[n]获取索引值为n的行的内容,结果如图5所示;
⑤通过pd.loc[行索引,列索引]可获取具体单元格的内容,结果如图6所示。
可通过df.set_index(列名)自行设定索引,如下示例
import pandas as pd
df = pd.read_excel('fruit.xlsx') #也可在读取时直接设置index_col='名称'
df = df.set_index('名称') #设置名称列为行索引
print(df)
print(df.values)
print(df['库存/kg'])
print(df.loc['草莓'])
print(df.loc['香蕉','单价/元'])

将DataFrame格式的数据写入excel
第一步:writer = pd.ExcelWriter('文件路径和名称'),文件名称必须指定,默认保存在当前文件的相同目录,文件名称需包含后缀名且只能为xls或xlsx
第二步:df.to_excel(writer,'sheet页名称'),sheet页参数可不指定,默认为Sheet1
第三步:writer.save()
pandas处理excel文件和csv文件的更多相关文章
- 将Excel文件转为csv文件的python脚本
#!/usr/bin/env python __author__ = "lrtao2010" ''' Excel文件转csv文件脚本 需要将该脚本直接放到要转换的Excel文件同级 ...
- Python之xlsx文件与csv文件相互转换
1 xlsx文件转csv文件 import xlrd import csv def xlsx_to_csv(): workbook = xlrd.open_workbook('1.xlsx') tab ...
- SQLite新建数据库及txt文件(CSV文件)导入
1.安装准备: Windows系统环境: 安装:SQLiteExpert 及 官网的SQLite tool 我们要用到其中的SQLite.exe 地址:https://www.sqli ...
- js操作一般文件和csv文件
js操作一般文件和csv文件 将文本文件读成字符串 <input type="file" id="upload"> document.getElem ...
- 【Github】如何下载csv文件/win10如何修改txt文件为csv文件
csv文件:逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号) 右键点击raw按钮,选择目标另存为,下载的是txt文件 win10如何 ...
- python脚本-excel批量转换为csv文件
pandas和SQL数据分析实战视频教程 https://study.163.com/course/courseMain.htm?courseId=1006383008&share=2& ...
- Python之文件读写(csv文件,CSV库,Pandas库)
前言 一.Python文件读取 二.读取CSV文件 一.Python文件读取 1. open函数是内置函数之with操作 - 关于路径设置的问题斜杠设置成D:\\文件夹\\文件或是D:/文件夹/文件 ...
- [Excel] CsvHelper---C#关于CSV文件的导入和导出以及转化 (转载)
点击下载 CsvHelper.rar 这个类是关于Csv文件的一些高级操作1.DataTable导出到CSV2.将Csv读入DataTable看下面代码吧 /// <summary> // ...
- 爬虫文件存储:txt文档,json文件,csv文件
5.1 文件存储 文件存储形式可以是多种多样的,比如可以保存成 TXT 纯文本形式,也可以保存为 Json 格式.CSV 格式等,本节我们来了解下文本文件的存储方式. 5.1.1 TXT文本存储 将数 ...
随机推荐
- DOM-BOM-EVENT(1)
1.DOM简介 DOM(Document Object Model)即文档对象模型,是HTML和XML文档的编程接口.它提供了对文档的结构化的表述,并定义了一种方式可以使得从程序中对该结构进行访问,从 ...
- 无题II HDU - 2236 【二分图+二分答案】
题目 这是一个简单的游戏,在一个n*n的矩阵中,找n个数使得这n个数都在不同的行和列里并且要求这n个数中的最大值和最小值的差值最小. Input 输入一个整数T表示T组数据. 对于每组数据第一行输入一 ...
- scala数据结构(一)
一.概述 1,特点 )Scala同时支持不可变集合和可变集合 )两个主要的包: 不可变集合:scala.collection.immutable 可变集合: scala.collection.muta ...
- XDocument常用属性
XDocument常用属性: 1) BaseUri 获取此 XObject 的基 URI. (继承自 XObject.) 2) Declaration 获取或设置此文档的 XML 声明. 3) Doc ...
- Jetbranis学习资料之全家桶
相信很多小伙伴,用的代码编辑器很多都是Jetbrains的,但好东西不可能免费的,而且找了很多激活码都是失效总是莫名其妙的就过期了.下面分享一个不错的激活码地址,比其他的应该更加可靠.本人实测目前支持 ...
- 前端03 /css简绍/css选择器
前端03 /css简绍/css选择器 目录 前端03 /css简绍/css选择器 昨日内容回顾 html标签 常用标签 table标签:表格标签 input标签 select下拉框 textarea多 ...
- 当我谈 HTTP 时,我谈些什么?
当我们打开网站时也许不会去留意网站前面的HTTP是怎么来的.但是它毫无疑问在网络中有着举足轻重的地位.本文从起源到发展,详说HTTP从1到3的演变. 说在前面 本文不致力于讲完 HTTP 的全部内容, ...
- Java多线程详解总结
一.基本概念 程序(program): 是为完成特定任务.用某种语言编写的一组指令的集合.即指一 段静态的代码,静态对象. 进程(process):是程序的一次执行过程,或是正在运行的一个程序.是一个 ...
- python也能玩视频剪辑!moviepy操作记录总结
前几篇文章咱们介绍了一下图片的处理方式,今天咱们说说视频的处理.python能够支持视频的处理么?当然是肯定的,人生苦读,我用python.万物皆可python. moviepy库安装 今天咱们需要使 ...
- 使用Red5-Pro Android官方Demo拆解分析(一)
一.配置文件 1.导入库文件jniLibs到main文件夹下 2.导入red5streaming.jar 3.在build里到入其他的包,代码如下: dependencies { implementa ...