Python读取excel文件中的数据,绘制折线图及散点图

目录
  • 一、导包
  • 二、绘制简单折线
  • 三、pandas操作Excel的行列
  • 四、pandas处理Excel数据成为字典
  • 五、绘制简单折线图
  • 六、绘制简单散点图

一、导包

import pandas as pd
import matplotlib.pyplot as plt

二、绘制简单折线

数据:有一个Excel文件lemon.xlsx,有两个表单,表单名分别为:Python 以及student。

Python的表单数据如下所示:

student的表单数据如下所示: 

1、在利用pandas模块进行操作前,可以先引入这个模块,如下: 

import pandas as pd

2、读取Excel文件的两种方式:

#方法一:默认读取第一个表单
df=pd.read_excel('lemon.xlsx')#这个会直接默认读取到这个Excel的第一个表单
data=df.head()#默认读取前5行的数据
print("获取到所有的值:\n{0}".format(data))#格式化输出

得到的结果是一个二维矩阵,如下所示:

#方法二:通过指定表单名的方式来读取
df=pd.read_excel('lemon.xlsx',sheet_name='student')#可以通过sheet_name来指定读取的表单
data=df.head()#默认读取前5行的数据
print("获取到所有的值:\n{0}".format(data))#格式化输出

得到的结果如下所示,也是一个二维矩阵:

#方法三:通过表单索引来指定要访问的表单,0表示第一个表单
#也可以采用表单名和索引的双重方式来定位表单
#也可以同时定位多个表单,方式都罗列如下所示
df=pd.read_excel('lemon.xlsx',sheet_name=['python','student'])#可以通过表单名同时指定多个
# df=pd.read_excel('lemon.xlsx',sheet_name=0)#可以通过表单索引来指定读取的表单
# df=pd.read_excel('lemon.xlsx',sheet_name=['python',1])#可以混合的方式来指定
# df=pd.read_excel('lemon.xlsx',sheet_name=[1,2])#可以通过索引 同时指定多个
data=df.values#获取所有的数据,注意这里不能用head()方法哦~
print("获取到所有的值:\n{0}".format(data))#格式化输出

三、pandas操作Excel的行列

1、读取指定的单行,数据会存在列表里面

#1:读取指定行
df=pd.read_excel('lemon.xlsx')#这个会直接默认读取到这个Excel的第一个表单
data=df.ix[0].values#0表示第一行 这里读取数据并不包含表头,要注意哦!
print("读取指定行的数据:\n{0}".format(data))

得到的结果如下所示:

2、读取指定的多行,数据会存在嵌套的列表里面

df=pd.read_excel('lemon.xlsx')
data=df.ix[[1,2]].values#读取指定多行的话,就要在ix[]里面嵌套列表指定行数
print("读取指定行的数据:\n{0}".format(data))

3、读取指定的行列

df=pd.read_excel('lemon.xlsx')
data=df.ix[1,2]#读取第一行第二列的值,这里不需要嵌套列表
print("读取指定行的数据:\n{0}".format(data))

4、读取指定的多行多列值

df=pd.read_excel('lemon.xlsx')
data=df.ix[[1,2],['title','data']].values#读取第一行第二行的title以及data列的值,这里需要嵌套列表
print("读取指定行的数据:\n{0}".format(data))

5、获取所有行的指定列

df=pd.read_excel('lemon.xlsx')
data=df.ix[:,['title','data']].values#读所有行的title以及data列的值,这里需要嵌套列表
print("读取指定行的数据:\n{0}".format(data))

6、获取行号并打印输出

df=pd.read_excel('lemon.xlsx')
print("输出行号列表",df.index.values)

输出结果是:
输出行号列表 [0 1 2 3]

7、获取列名并打印输出

df=pd.read_excel('lemon.xlsx')
print("输出列标题",df.columns.values)

运行结果如下所示:
输出列标题 ['case_id' 'title' 'data']

8、获取指定行数的值

df=pd.read_excel('lemon.xlsx')
print("输出值",df.sample(3).values)#这个方法类似于head()方法以及df.values方法

输出值
 [[2 '输入错误的密码' '{"mobilephone":"18688773467","pwd":"12345678"}']
 [3 '正常充值' '{"mobilephone":"18688773467","amount":"1000"}']
 [1 '正常登录' '{"mobilephone":"18688773467","pwd":"123456"}']]

9、获取指定列的值

df=pd.read_excel('lemon.xlsx')
print("输出值\n",df['data'].values)

四、pandas处理Excel数据成为字典

我们有这样的数据

处理成列表嵌套字典,且字典的key为表头名。

实现的代码如下所示:

df=pd.read_excel('lemon.xlsx')
test_data=[]
for i in df.index.values:#获取行号的索引,并对其进行遍历:
    #根据i来获取每一行指定的数据 并利用to_dict转成字典
    row_data=df.ix[i,['case_id','module','title','http_method','url','data','expected']].to_dict()
    test_data.append(row_data)
print("最终获取到的数据是:{0}".format(test_data))

最后得到的结果是:

最终获取到的数据是:
[{'title': '正常登录', 'case_id': 1, 'data': '{"mobilephone":"18688773467","pwd":"123456"}'},
{'title': '输入错误的密码', 'case_id': 2, 'data': '{"mobilephone":"18688773467","pwd":"12345678"}'},
{'title': '正常充值', 'case_id': 3, 'data': '{"mobilephone":"18688773467","amount":"1000"}'},
{'title': '充值输入负数', 'case_id': 4, 'data': '{"mobilephone":"18688773467","amount":"-100"}'}]

五、绘制简单折线图

所用数据:

# -*- coding: utf-8 -*-
"""
Created on Tue Sep 29 18:24:14 2020
@author: chenj
"""
# 导入 pandas 和 matplotlib
import pandas as pd
import matplotlib.pyplot as plt

# 读取文件
# =============================================================================
# 可能遇到的问题 路径分隔符 建议用“/”或“\\”  读取桌面文件时 用“\”可能会失败
# =============================================================================
data_source = pd.read_excel('F:/南师2020作业/人工智能/datas.xlsx')
# 函数plot()尝试根据数字绘制出有意义的图形
print(data_source['datas'])
plt.plot(data_source['datas'])

六、绘制简单散点图

使用scatter绘制散点图并设置其样式 1、绘制单个点,使用函数scatter,并向它传递x,y坐标,并可使用参数s指定点的大小

plt.scatter(2,4,s=20)

2、绘制一系列点,向scatter传递两个分别包含x值和y值的列表

x_values=[1,2,3,4,5]
y_values=[1,4,9,16,25]
plt.scatter(x_values,y_values,s=20)

3、设置坐标轴的取值范围:函数axis()要求提供四个值,x,y坐标轴的最大值和最小值

plt.axis([0,1100,0,1100000])

4、使用参数edgecolor在函数scatter中设置数据点的轮廓

plt.scatter(x_values,y_values,edgecolor='black',s=20)

当参数值为'none'时不使用轮廓

5、向scatter传递参数c,指定要使用的颜色

可使用颜色名称,或者使用RGB颜色模式自定义颜色,元组中包含三个0~1之间的小数值,分别表示红绿蓝颜色分量。

plt.scatter(x_values,y_values,c=(0,0,0.8),edgecolor='none',s=20)为由浅蓝色组成的散点图

6、使用颜色映射

颜色映射是一系列颜色,它们从起始颜色渐变到结束颜色,在可视化中颜色映射用于突出数据的规律。
例如,可用较浅的颜色表示较小的数值,较深的颜色表示较大的数值。
模块pyplot内置了一组颜色映射,要使用颜色映射,需要告诉pyplot如何设置数据集中每个点的颜色。

plt.scatter(x_values,y_values,c=y_values,cmap=plt.cm.Blues,s=40)
plt.title("Square numbers",fontsize=24)

我们将参数c设置成了一个y值列表,并使用参数cmap告诉pyplot使用哪个颜色映射。这些代 
码将y值较小的点显示为浅蓝色,并将y值较大的点显示为深蓝色。

7、自动保存图表:使用函数plt.savefig()

plt.savefig('D:/www/figure.png',bbox_inches='tight')

第一个参数是文件名,第二个参数指定将图表多余的空白区域减掉,如果要保留图表周围多余的空白区域,可省略这个实参。

8、设置绘图窗口尺寸

函数figure用于指定图表的宽度、高度、分辨率和背景色。
形参figsize指定一个元组,向matplotlib指出绘图窗口的尺寸,单位为英寸。
形参dpi向figure传递分辨率,默认为80

plt.figure(dpi=128,figsize=(10,6))

9、实例程序

#a.py
import matplotlib.pyplot as plt
x_values=list(range(1,1001))
y_values=[x**2 for x in x_values]
plt.scatter(x_values,y_values,c=y_values,cmap=plt.cm.Blues,s=40)
plt.title("Square numbers",fontsize=24)
plt.xlabel("value",fontsize=24)
plt.ylabel("Square of Value",fontsize=24)
plt.tick_params(axis='both',labelsize=14)
plt.axis([0,1100,0,1100000])
plt.savefig('D:/www/figure.png',bbox_inches='tight')
plt.show()
# 导入 pandas 和 matplotlib
import pandas as pd
import matplotlib.pyplot as plt
# 导入中文显示库函数
from matplotlib.font_manager import FontProperties
font_set = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=15)

# 读取文件
df = pd.read_excel("F:/南师2020作业/人工智能/datas.xlsx")
# 输出数据行数
print("数据行数:" , len(df))
'''
由于只有一列数据我们使用 excel 行号作为 x 值的列表
用range()函数来创建一个列表 [1,24)
range()函数 遍历数字序列
'''
x = list(range(1,len(df)+1)) #[1,24)
# 读取指定的单列也就是 datas列,数据会存在列表里面
y = df['datas']
# for 循环输出数据行数
for a in (list(range(1,len(df)+1))):
    print('行号:'+str(a)) #将int类型的a 转换为字符串

#设置 x值 和y值的列表
plt.scatter(x,y)
# 图表名称
plt.title('散点图',fontproperties=font_set)
# 设置x轴名称
plt.xlabel("X")
# 设置y轴名称
plt.ylabel("Y")
plt.show()

到此这篇关于Python读取excel文件中的数据,绘制折线图及散点图的文章就介绍到这了,更多相关Python读取excel文件数据内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2022-09-19

基于Python实现文本文件转Excel

目录 一.前言 二.openpyxl模块 1.安装 2.简单操作 三.文本文件转excel文件 1.寻找规律 2.开始转换 补充 一.前言 Excel文件是我们常用的一种文件,在工作中使用非常频繁.Excel中有许多强大工具,因此用Excel来处理文件会给我们带来很多便捷.但是有时候我们拿到了文件不是Excel文件,而且我们又想用Excel中的工具,这个时候我们就可以想办法把这个文件转换成Excel文件了.今天我们就来实现一下,需要注意我们只能把有规律的文件转换成Excel,而且今天的内容也不是

如何利用python批量提取txt文本中所需文本并写入excel

目录 1.提取txt文本 2.增加数据框的列 3.引入基础csv数据,并扩列 汇总 总结 1.提取txt文本 我想要的文本是如图所示,宝可梦的外貌描述文本,由于原本的数据源结构并不是很稳定,而且也不是表格形式,因此在csdn上查了半天. 最原始的一行一行提取(不建议,未采用) fi = open("D:\python_learning\data\data\Axew.txt","r",encoding="utf-8") wflag =False #

Python一步步带你操作Excel

目录 一.安装库的操作 二.xlwt库使用 三.xlrd库使用 四.openpyxl库使用-写入数据 五.openpyxl库使用-读取数据 ➤数据处理是 Python 的一大应用场景,而 Excel 则是最流行的数据处理软件.因此用 Python 进行数据相关的工作时,难免要和 Excel 打交道.Python处理Excel 常用的系列库有:xlrd.xlwt.xlutils.openpyxl ◈xlrd - 用于读取 Excel 文件,支持.xls和.xlsx格式 ◈xlwt - 用于写入 E

Python pywin32实现word与Excel的处理

目录 pywin32处理Word和Excel的一些事 pywin32将Word转pdf pywin32将Excel格式处理并转pdf 总结 pywin32处理Word和Excel的一些事 我们知道Python处理word和Excel的可以借助第三库python-docx.xlrd.xlwt和openpyxl等实现,但这些模块只支持基本的读写操作,如果要实现一些较为深入功能,就要看模块是否有相应功能支持了.例如将word和Excel转为pdf,在word和Excel里面执行VBA实现特殊功能,在E

python pandas处理excel表格数据的常用方法总结

目录 前言 1.读取xlsx表格:pd.read_excel() 2.获取表格的数据大小:shape 3.索引数据的方法:[ ] / loc[] / iloc[] 4.判断数据为空:np.isnan() / pd.isnull() 5.查找符合条件的数据 6.修改元素值:replace() 7.增加数据:[ ] 8.删除数据:del() / drop() 9.保存到excel文件:to_excel() 总结 前言 最近助教改作业导出的成绩表格跟老师给的名单顺序不一致,脑壳一亮就用pandas写了

Python读取xlsx文件报错:xlrd.biffh.XLRDError: Excel xlsx file;not supported问题解决

目录 发现错误 (1)检查第三方库xlrd的版本: (2)别忘了修改import名称与调用的包名称 总结 发现错误 利用Python库xlrd中的xlrd.open_workbook()函数读取自定义xlsx表格文件时出错如下: Traceback (most recent call last):  File "C:/Users/llll/PycharmProjects/pythonProject1/RandomForestRegression.py", line 96, in <

python用pdfplumber提取pdf表格数据并保存到excel文件中

目录 pdfplumber操作pdf文件 一.pdfplumber安装及导入 二.pdfplumber基础使用 1.基础知识 2.获取pdf基础信息 3.pdfplumber提取表格数据 三.提取pdf表格数据并保存到excel中 总结 pdfplumber操作pdf文件 python开源库pdfplumber,可以较为方便地获取pdf的各种信息,包含pdf的基本信息(作者.创建时间.修改时间…)及表格.文本.图片等信息,基本可以满足较为简单的格式转换功能. 一.pdfplumber安装及导入

C#将Sql数据保存到Excel文件中的方法

本文实例讲述了C#将Sql数据保存到Excel文件中的方法,非常有实用价值.分享给大家供大家参考借鉴之用. 具体功能代码如下: public string ExportExcel( DataSet ds,string saveFileName) { try { if (ds == null) return "数据库为空"; bool fileSaved = false; Microsoft.Office.Interop.Excel.Application xlApp = new Mic

python 读取txt中每行数据,并且保存到excel中的实例

使用xlwt读取txt文件内容,并且写入到excel中,代码如下,已经加了注释. 代码简单,具体代码如下: # coding=utf-8 ''' main function:主要实现把txt中的每行数据写入到excel中 ''' ################# #第一次执行的代码 import xlwt #写入文件 import xlrd #打开excel文件 fopen=open("e:\\a\\bb\\a.txt",'r') lines=fopen.readlines() #新

Python将文本去空格并保存到txt文件中的实例

如下所示: #encoding=utf-8# x=raw_input("Please enter a text: ") y=x.replace(" ","") f = open('Output.txt', 'w') print >>f, y f.close() 以上这篇Python将文本去空格并保存到txt文件中的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

python 将print输出的内容保存到txt文件中

具体代码如下所示: import sys import os class Logger(object): def __init__(self, filename="Default.log"): self.terminal = sys.stdout self.log = open(filename, "a") def write(self, message): self.terminal.write(message) self.log.write(message) d

Python 用三行代码提取PDF表格数据

从 PDF 表格中获取数据是一项痛苦的工作.不久前,一位开发者提供了一个名为 Camelot 的工具,使用三行代码就能从 PDF 文件中提取表格数据. PDF 文件是一种非常常用的文件格式,通常用于正式的电子版文件.它能够很好的将不同的排版格式固定下来,形成版面清晰且美观的展示效果.然而,对于想要从 PDF 中提取信息的人们来说,PDF 是个噩梦,尤其是表格. 大量的学术报告.论文.分析文章都使用 PDF 展示其中的表格数据,但是对于如果想要直接从表格中复制数据则会非常麻烦.不久前,有一位开发者

python制作爬虫并将抓取结果保存到excel中

学习Python也有一段时间了,各种理论知识大体上也算略知一二了,今天就进入实战演练:通过Python来编写一个拉勾网薪资调查的小爬虫. 第一步:分析网站的请求过程 我们在查看拉勾网上的招聘信息的时候,搜索Python,或者是PHP等等的岗位信息,其实是向服务器发出相应请求,由服务器动态的响应请求,将我们所需要的内容通过浏览器解析,呈现在我们的面前. 可以看到我们发出的请求当中,FormData中的kd参数,就代表着向服务器请求关键词为Python的招聘信息. 分析比较复杂的页面请求与响应信息,

Python获取数据库数据并保存在excel表格中的方法

将数据库中的数据保存在excel文件中有很多种方法,这里主要介绍pyExcelerator的使用. 一.前期准备(不详细介绍MySQL) python包pyExcelerator和MySQLdb 导入方法:(以Pycharm为例) 在File->Settings中点击右上角绿色图标"+", 输入pyExcelerator,点击install package,导入成功之后点击OK,就完成了pyExcelerator的导入. 2.使用pyExcelerator对excel进行操作 #

Python实现提取XML内容并保存到Excel中的方法

本文实例讲述了Python实现提取XML内容并保存到Excel中的方法.分享给大家供大家参考,具体如下: 最近做一个项目是解析XML文件,提取其中的chatid和lt.timestamp等信息,存到excel里. 1.解析xml,提取数据 使用python自带的xml.dom中的minidom(也可以用lxml) xml文件如下: minidom.parse()#解析文件,返回DOM对象 _get_documentElement()DOM是树形结构,获得了树形结构的根节点 getElements

Python实现爬取亚马逊数据并打印出Excel文件操作示例

本文实例讲述了Python实现爬取亚马逊数据并打印出Excel文件操作.分享给大家供大家参考,具体如下: python大神们别喷,代码写的很粗糙,主要是完成功能,能够借鉴就看下吧,我是学java的,毕竟不是学python的,自己自学看了一点点python,望谅解. #!/usr/bin/env python3 # encoding=UTF-8 import sys import re import urllib.request import json import time import zli

python实现读取excel文件中所有sheet操作示例

本文实例讲述了python实现读取excel文件中所有sheet操作.分享给大家供大家参考,具体如下: 表格是这样的 实现把此文件所有sheet中 标识为1 的行,取出来,存入一个字典.所有行组成一个列表. # -*- coding: utf-8 -*- from openpyxl import load_workbook def get_data_from_excel(excel_dir):#读取excel,取出所有sheet要执行的接口信息,返回列表 work_book = load_wor