Python实现从excel读取数据并绘制成精美图像
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
Python实现从excel读取数据绘制成精美图像
一、实验介绍
1.1 实验内容
这个世界从古至今一直是一个看颜值的世界。对于我们作报告,写文章时使用的图片,也是一样的。一图胜千言,一张制作精美的图片,不仅能展示大量的信息,更能体现绘图者的水平,审美,与态度。我的老板,国内外多家SCI
,EI
文章的审稿人,甚至跟我说,一篇文章拿到手里,一眼扫过去,看看数据和图片,就知道这篇文章值不值得发表,水平如何。由此观之,制作一张精美图片的意义,实在重大。本课程实现使用python
从excel
读取数据,并使用matplotlib
绘制成二维图像。这一过程中,将通过一系列操作来美化图像,最终得到一个可以出版级别的图像。本课程对于需要书写实验报告,学位论文,发表文章,做PPT
报告的学员具有较大价值。本课程的数据和图像,来源于我的一篇SCI
文章,是一真实案例。
1.2 实验知识点
- 使用
xlrd
扩展包读取excel
数据 - 使用
matplotlib
绘制二维图像 - 美化图像,添加标注,注释,显示
Latex
风格公式,坐标点处透明化处理等技巧
1.3 实验环境
python2.7
Xfce
终端
1.4 适合人群
本课程难度为中等,适合具有Python
基础的用户,对于需要书写实验报告,学位论文,发表文章,做PPT
报告的学员具有较大价值。
1.5 代码获取
你可以通过下面命令将数据和代码下载到实验楼环境中,作为参照对比进行学习。
$ wget http://labfile.oss.aliyuncs.com/courses/791/finally.py$ wget http://labfile.oss.aliyuncs.com/courses/791/my_data.xlsx$ wget http://labfile.oss.aliyuncs.com/courses/791/phase_detector.xlsx$ wget http://labfile.oss.aliyuncs.com/courses/791/phase_detector2.xlsx
二、开发准备
打开Xfce
终端,下载并安装的相关依赖 。
$ sudo apt-get update$ sudo apt-get install python-dev$ sudo pip install numpy$ sudo apt-get install python-matplotlib$ sudo pip install xlrd$ sudo apt-get install python-sip$ sudo apt-get install libqt4-dev$ sudo apt-get install python-qt4 python-qt4-dev pyqt4-dev-tools qt4-dev-tools
遇到是否安装的询问时,输入y,按回车键继续安装。
三、实验步骤
3.1 绘制一个简单图像,测试扩展包安装是否正常
安装完成matplotlib
后,运行一个小程序测试其是否正常。我们来绘制一个非常简单的正弦函数。
import numpy as npimport matplotlib.pyplot as pltx = np.linspace(0, 10, 500)dashes = [10, 5, 100, 5] # 10 points on, 5 off, 100 on, 5 offfig, ax = plt.subplots()line1, = ax.plot(x, np.sin(x), '--', linewidth=2, label='Dashes set retroactively')line1.set_dashes(dashes)line2, = ax.plot(x, -1 * np.sin(x), dashes=[30, 5, 10, 5], label='Dashes set proactively')ax.legend(loc='lower right')plt.show()
如果一切正常,应该得到如下显示的图片:
这段程序来自官方的例程,只作为检验安装包之用。这个图片过于简单,也算不上精美。
3.2 测试xlrd
扩展包
xlrd
顾名思义,就是excel
文件的后缀名.xl
文件read
的扩展包。这个包只能读取文件,不能写入。写入需要使用另外一个包。但是这个包,其实也能读取.xlsx
文件。
从excel
中读取数据的过程比较简单,首先从xlrd
包导入open_workbook
,然后打开excel
文件,把每个sheet
里的每一行每一列数据都读取出来即可。很明显,这是个循环过程。
from xlrd import open_workbookx_data1=[]y_data1=[]wb = open_workbook('phase_detector.xlsx')for s in wb.sheets(): print 'Sheet:',s.name for row in range(s.nrows): print 'the row is:',row values = [] for col in range(s.ncols): values.append(s.cell(row,col).value) print values x_data1.append(values[0]) y_data1.append(values[1])
如果安装包没有问题,这段代码应该能打印出excel
表中的数据内容。解释一下 这段代码:打开一个excel
文件后,首先对文件内的sheet
进行循环,这是最外层循环;在每个sheet
内,进行第二次循环,行循环;在每行内,进行列循环,这是第三层循环。在最内层列循环内,取出行列值,复制到新建的values
列表内,很明显,源数据有几列,values
列表就有几个元素。我们例子中的excel
文件有两列,分别对应“角度”和DC
值。所以在列循环结束后,我们将取得的数据保存到x_data1
和y_data1
这两个列表中。
3.3 绘制图像V1.0
第一个版本的功能很简单,从excel
中读取数据,然后绘制成图像。具体程序如下:
#!/usr/bin/python#-*- coding: utf-8 -*-import matplotlib.pyplot as pltimport xlrdfrom xlrd import open_workbookx_data=[]y_data=[]x_volte=[]temp=[]wb = open_workbook('my_data.xlsx')for s in wb.sheets(): print 'Sheet:',s.name for row in range(s.nrows): print 'the row is:',row values = [] for col in range(s.ncols): values.append(s.cell(row,col).value) print values x_data.append(values[0]) y_data.append(values[1]) plt.plot(x_data, y_data, 'bo-',label=u"Phase curve",linewidth=1)plt.title(u"TR14 phase detector")plt.legend()plt.xlabel(u"input-deg")plt.ylabel(u"output-V")plt.show()print 'over!'
程序简单,显示的效果也是丑到哭:
从excel
中读取数据的程序,上面已经解释过了。这段代码后面的函数是matplotlib
绘图的基本格式,此处的输入格式为:
plt.plot(x轴数据, y轴数据, 曲线类型,图例说明,曲线线宽)
图片顶部的名称,由这行语句定义:
plt.title(u"TR14 phase detector")
最后,使用这一语句使能显示:
plt.legend()
3.4 绘制图像V1.1
这个图只绘制了一个表格的数据,我们一共有三个表格。但是就这个一个已经够丑了。我们先来美化一下。首先,坐标轴的问题:横轴的0点对应着纵轴的8,这个明显不行。我们来移动一下坐标轴,使之0点重合:
#!/usr/bin/python#-*- coding: utf-8 -*-import matplotlib.pyplot as pltfrom pylab import *import xlrdfrom xlrd import open_workbookx_data=[]y_data=[]x_volte=[]temp=[]wb = open_workbook('my_data.xlsx')for s in wb.sheets(): print 'Sheet:',s.name for row in range(s.nrows): print 'the row is:',row values = [] for col in range(s.ncols): values.append(s.cell(row,col).value) print values x_data.append(values[0]) y_data.append(values[1])plt.plot(x_data, y_data, 'bo-',label=u"Phase curve",linewidth=1)plt.title(u"TR14 phase detector")plt.legend()ax = gca()ax.spines['right'].set_color('none')ax.spines['top'].set_color('none')ax.xaxis.set_ticks_position('bottom')ax.spines['bottom'].set_position(('data',0))ax.yaxis.set_ticks_position('left')ax.spines['left'].set_position(('data',0))plt.xlabel(u"input-deg")plt.ylabel(u"output-V")plt.show()print 'over!'
好的,移动坐标轴后,图片稍微顺眼了一点,我们也能明显的看出来,图像与横轴的交点大约在180
度附近:
解释一下移动坐标轴的代码:我们要移动坐标轴,首先要把旧的坐标拆了。怎么拆呢?原图是上下左右四面都有边界刻度的图像,我们首先把右边界拆了不要了,使用语句:
ax.spines['right'].set_color('none')
把右边界的颜色设置为不可见,右边界就拆掉了。同理,再把上边界拆掉:
ax.spines['top'].set_color('none')
拆完之后,就只剩下我们关心的左边界和下边界了,这俩就是x
轴和y
轴。然后我们移动这两个轴,使他们的零点对应起来:
ax.xaxis.set_ticks_position('bottom')ax.spines['bottom'].set_position(('data',0))ax.yaxis.set_ticks_position('left')ax.spines['left'].set_position(('data',0))
这样,就完成了坐标轴的移动。
3.5 绘制图像V1.2
我们能不能给图像过零点加个标记呢?显示的告诉看图者,过零点在哪,就免去看完图还得猜,要么就要问作报告的人。
#!/usr/bin/python#-*- coding: utf-8 -*-import matplotlib.pyplot as pltfrom pylab import *import xlrdfrom xlrd import open_workbookx_data=[]y_data=[]x_volte=[]temp=[]wb = open_workbook('my_data.xlsx')for s in wb.sheets(): print 'Sheet:',s.name for row in range(s.nrows): print 'the row is:',row values = [] for col in range(s.ncols): values.append(s.cell(row,col).value) print values x_data.append(values[0]) y_data.append(values[1])plt.plot(x_data, y_data, 'bo-',label=u"Phase curve",linewidth=1)plt.annotate('zero point', xy=(180,0), xytext=(60,3), arrowprops=dict(facecolor='black', shrink=0.05),)plt.title(u"TR14 phase detector")plt.legend()ax = gca()ax.spines['right'].set_color('none')ax.spines['top'].set_color('none')ax.xaxis.set_ticks_position('bottom')ax.spines['bottom'].set_position(('data',0))ax.yaxis.set_ticks_position('left')ax.spines['left'].set_position(('data',0))plt.xlabel(u"input-deg")plt.ylabel(u"output-V")plt.show()print 'over!'
好的,加上标注的图片,显示效果是这样的:
标注的添加,使用这句语句:
plt.annotate(标注文字, 标注的数据点, 标注文字坐标, 箭头形状)
这其中,标注的数据点是我们感兴趣的,需要说明的数据,而标注文字坐标,需要我们根据效果进行调节,既不能遮挡原曲线,又要醒目。
3.6 绘制图像V1.3
我们把三组数据都画在这幅图上,方便对比,此外,再加上一组理想数据进行对照。这一次我们再做些改进,把横坐标的单位用Latex
引擎显示;不光标记零点,把两边的非线性区也标记出来;
#!/usr/bin/python#-*- coding: utf-8 -*-import numpy as npimport matplotlib.pyplot as pltfrom xlrd import open_workbookfrom pylab import *x_data=[]y_data=[]x_data1=[]y_data1=[]x_data2=[]y_data2=[]x_data3=[]y_data3=[]x_volte=[]temp=[]plt.annotate('Close loop point',size=18, xy=(180, 0.1), xycoords='data', xytext=(-100, 40), textcoords='offset points', arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2") )plt.annotate(' ', xy=(0, -0.1), xycoords='data', xytext=(200, -90), textcoords='offset points', arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=-.2") )plt.annotate('Zero point in non-monotonic region', size=18,xy=(360, 0), xycoords='data', xytext=(-290, -110), textcoords='offset points', arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2") )wb = open_workbook('phase_detector.xlsx')for s in wb.sheets(): print 'Sheet:',s.name for row in range(s.nrows): print 'the row is:',row values = [] for col in range(s.ncols): values.append(s.cell(row,col).value) print values x_data1.append(values[0]) y_data1.append(values[1])plt.plot(x_data1, y_data1, 'g',label=u"Original",linewidth=2) wb = open_workbook('phase_detector2.xlsx')for s in wb.sheets(): print 'Sheet:',s.name for row in range(s.nrows): print 'the row is:',row values = [] for col in range(s.ncols): values.append(s.cell(row,col).value) print values x_data2.append(values[0]) y_data2.append(values[1])plt.plot(x_data2, y_data2, 'r',label=u"Move the pullup resistor",linewidth=2)wb = open_workbook('my_data.xlsx')for s in wb.sheets(): print 'Sheet:',s.name for row in range(s.nrows): print 'the row is:',row values = [] for col in range(s.ncols): values.append(s.cell(row,col).value) print values x_data.append(values[0]) y_data.append(values[1])plt.plot(x_data, y_data, 'b',label=u"Faster D latch and XOR",linewidth=2)for i in range(360): x_data3.append(i) y_data3.append((i-180)*0.052-0.092)plt.plot(x_data3, y_data3, 'c',label=u"The Ideal Curve",linewidth=2)#plt.title(u"2 \pi phase detector", fontproperties=font)plt.title(u"$2\pi$ phase detector",size=20)plt.legend(loc=0)#显示label#移动坐标轴代码ax = gca()ax.spines['right'].set_color('none')ax.spines['top'].set_color('none')ax.xaxis.set_ticks_position('bottom')ax.spines['bottom'].set_position(('data',0))ax.yaxis.set_ticks_position('left')ax.spines['left'].set_position(('data',0))plt.xlabel(u"$\phi/deg$",size=20)plt.ylabel(u"$DC/V$",size=20)plt.show()print 'over!'
看一下显示的效果:
Latex
表示数学公式,使用$$
表示两个符号之间的内容是数学符号。圆周率就可以简单表示为$\pi$
,简单到哭,显示效果却很好看。同样的,$\phi$
表示角度符号,书写和读音相近,很好记。
对于圆周率,角度公式这类数学符号,使用Latex
来表示,是非常方便的。这张图比起上面的要好看得多了。但是,依然觉得还是有些丑。好像用平滑线画出来的图像,并不如用点线画出来的好看。而且点线更能反映实际的数据点。此外,我们的图像跟坐标轴重叠的地方,把坐标和数字都挡住了,看着不太美。
图中的理想曲线的数据,是根据电路原理纯计算出来的,要讲清楚需要较大篇幅,这里就不展开了,只是为了配合比较而用,这部分代码,大家知道即可:
for i in range(360): x_data3.append(i) y_data3.append((i-180)*0.052-0.092)plt.plot(x_data3, y_data3, 'c',label=u"The Ideal Curve",linewidth=2)
3.7 绘制图像V1.4
我们再就上述问题,进行优化。优化的过程包括:改变横坐标的显示,使用弧度显示;优化图像与横坐标相交的部分,透明显示;增加网络标度。Talk is cheap, show me the code
:
#!/usr/bin/python#-*- coding: utf-8 -*-import numpy as npimport matplotlib.pyplot as pltfrom xlrd import open_workbookfrom pylab import *x_data=[]y_data=[]x_data1=[]y_data1=[]x_data2=[]y_data2=[]x_data3=[]y_data3=[]x_volte=[]temp=[]plt.annotate('The favorite close loop point',size=16, xy=(1, 0.1), xycoords='data', xytext=(-180, 40), textcoords='offset points', arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2") )plt.annotate(' ', xy=(0.02, -0.2), xycoords='data', xytext=(200, -90), textcoords='offset points', arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=-.2") )plt.annotate('Zero point in non-monotonic region', size=16,xy=(1.97, -0.3), xycoords='data', xytext=(-290, -110), textcoords='offset points', arrowprops=dict(arrowstyle="->",connectionstyle="arc3,rad=.2") )wb = open_workbook('phase_detector.xlsx')for s in wb.sheets(): print 'Sheet:',s.name for row in range(s.nrows): print 'the row is:',row values = [] for col in range(s.ncols): values.append(s.cell(row,col).value) print values #x_data1.append(values[0]) x_data1.append(values[0]/180.0) y_data1.append(values[1])plt.plot(x_data1, y_data1, 'g--',label=u"Original",linewidth=2) wb = open_workbook('phase_detector2.xlsx')for s in wb.sheets(): print 'Sheet:',s.name for row in range(s.nrows): print 'the row is:',row values = [] for col in range(s.ncols): values.append(s.cell(row,col).value) print values #x_data2.append(values[0]) x_data2.append(values[0]/180.0) y_data2.append(values[1])plt.plot(x_data2, y_data2, 'r-.',label=u"Move the pullup resistor",linewidth=2)wb = open_workbook('my_data.xlsx')for s in wb.sheets(): print 'Sheet:',s.name for row in range(s.nrows): print 'the row is:',row values = [] for col in range(s.ncols): values.append(s.cell(row,col).value) print values #x_data.append(values[0]) x_data.append(values[0]/180.0) y_data.append(values[1])plt.plot(x_data, y_data, 'bo--',label=u"Faster D latch and XOR",linewidth=2)for i in range(360): #x_data3.append(i) x_data3.append(i/180.0) y_data3.append((i-180)*0.052-0.092)plt.plot(x_data3, y_data3, 'c',label=u"The Ideal Curve",linewidth=2)plt.title(u"$2\pi$ phase detector",size=20)plt.legend(loc=0)#显示label#移动坐标轴代码ax = gca()ax.spines['right'].set_color('none')ax.spines['top'].set_color('none')ax.xaxis.set_ticks_position('bottom')ax.spines['bottom'].set_position(('data',0))ax.yaxis.set_ticks_position('left')ax.spines['left'].set_position(('data',0))plt.xlabel(u"$\phi/rad$",size=20)#角度单位为piplt.ylabel(u"$DC/V$",size=20)plt.xticks([0, 0.5, 1, 1.5, 2],[r'$0$', r'$\pi/2$', r'$\pi$', r'$1.5\pi$', r'$2\pi$'],size=16)for label in ax.get_xticklabels() + ax.get_yticklabels(): #label.set_fontsize(16) label.set_bbox(dict(facecolor='white', edgecolor='None', alpha=0.65 ))plt.grid(True)plt.show()print 'over!'
最终,这张图像的显示效果如下:
与我们最开始那张图比起来,是不是有种脱胎换骨的感觉?这其中,对图像与坐标轴相交的部分,做了透明化处理,代码为:
for label in ax.get_xticklabels() + ax.get_yticklabels(): #label.set_fontsize(16) label.set_bbox(dict(facecolor='white', edgecolor='None', alpha=0.65 ))
透明度由其中的参数alpha=0.65
控制,如果想更透明,就把这个数改到更小,0
代表完全透明,1
代表不透明。
而改变横轴坐标显示方式的代码为:
plt.xticks([0, 0.5, 1, 1.5, 2],[r'$0$', r'$\pi/2$', r'$\pi$', r'$1.5\pi$', r'$2\pi$'],size=16)
这里直接手动指定x
轴的标度。依然是使用Latex
引擎来表示数学公式。
四、实验总结
这节课使用python
的绘图包matplotlib
绘制了一副图像。图像的数据来源于excel
数据表。与使用数据表画图相比,通过程序控制绘图,得到了更加灵活和精细的控制,最终绘制除了一幅精美的图像。
五、课后习题
对比每个版本程序的不同,找出优化部分的程序;修改数据来源,从txt
或者word
中读取数据,绘制图像;将以前使用excel
绘制的图像,改用python
重新绘制一遍。
给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
你好! 这是你第一次使用 **Markdown编辑器** 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
新的改变
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
- 全新的界面设计 ,将会带来全新的写作体验;
- 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
- 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
- 全新的 KaTeX数学公式 语法;
- 增加了支持甘特图的mermaid语法1 功能;
- 增加了 多屏幕编辑 Markdown文章功能;
- 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
- 增加了 检查列表 功能。
功能快捷键
撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
合理的创建标题,有助于目录的生成
直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC
语法后生成一个完美的目录。
如何改变文本的样式
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
插入链接与图片
链接: link.
图片:
带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
如何插入一段漂亮的代码片
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block var foo = 'bar';
生成一个适合你的列表
- 项目
- 项目
- 项目
- 项目
- 项目1
- 项目2
- 项目3
- 计划任务
- 完成任务
创建一个表格
一个简单的表格是这么创建的:
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
设定内容居中、居左、居右
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
SmartyPants
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE | ASCII | HTML |
---|---|---|
Single backticks |
'Isn't this fun?'
|
‘Isn’t this fun?’ |
Quotes |
"Isn't this fun?"
|
“Isn’t this fun?” |
Dashes |
-- is en-dash, --- is em-dash
|
– is en-dash, — is em-dash |
创建一个自定义列表
- Markdown
- Text-to-HTML conversion tool
- Authors
- John
- Luke
如何创建一个注脚
一个具有注脚的文本。2
注释也是必不可少的
Markdown将文本转换为 HTML。
KaTeX数学公式
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ(n)=(n−1)!∀n∈N\Gamma(n) = (n-1)!\quad\forall n\in\mathbb NΓ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ(z)=∫0∞tz−1e−tdt .\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多关于的信息 LaTeX 数学表达式here.
新的甘特图功能,丰富你的文章
ganttdateFormat YYYY-MM-DDtitle Adding GANTT diagram functionality to mermaidsection 现有任务已完成 :done, des1, 2014-01-06,2014-01-08进行中 :active, des2, 2014-01-09, 3d计划一 : des3, after des2, 5d计划二 : des4, after des3, 5d
- 关于 甘特图 语法,参考 这儿,
UML 图表
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图::
这将产生一个流程图。:
- 关于 Mermaid 语法,参考 这儿,
FLowchart流程图
我们依旧会支持flowchart的流程图:
- 关于 Flowchart流程图 语法,参考 这儿.
导出与导入
导出
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
导入
如果你想加载一篇你写过的.md文件或者.html文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
mermaid语法说明 ↩︎
注脚的解释 ↩︎
Python实现从excel读取数据并绘制成精美图像相关推荐
- python 读取excel太慢_实用技巧——Python实现从Excel读取数据并绘制成图像
喜欢编程,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远! 本文主要阐述如何使用python从excel读取数据,并用matplotlib绘制成二维图像. 主要知识点为 ...
- 实用技巧——Python实现从Excel读取数据并绘制成图像
本文主要阐述如何使用python从excel读取数据,并用matplotlib绘制成二维图像. 主要知识点为: 使用xlrd扩展包读取excel数据 使用matplotlib绘制二维图像 美化图像,添 ...
- Python读取excel表格数据并绘制成柱状图 | 数据排序、柱状图颜色、标签乱码等问题通通能够解决!
hello大家好, 我是你们的可爱丸, 我们又见面啦! python的功能十分强大, 它不仅可以用来做爬虫, 还可以用来做数据分析哦! 那么今天我就带着大家 用python 分析表格数据,并绘制成柱状 ...
- python怎么从excel获取数据_python如何读取excel表数据
python读取excel表数据的方法:首先安装Excel读取数据的库xlrd:然后获取Excel文件的位置并且读取进来:接着读取指定的行和列的内容,并将内容存储在列表中:最后运行程序即可. pyth ...
- 怎么用python处理excel文件-Python自动化如何处理excel文件数据
原标题:Python自动化如何处理excel文件数据 在python自动化中,经常会遇到对数据文件的操作,比如添加多名员工,但是直接将员工数据写在python文件中,不但工作量大,要是以后再次遇到类似 ...
- 从excel读取数据到datatable
/// <summary> /// /// 从excel读取数据到datatable /// using System.Windows.F ...
- 【爬虫+数据可视化】Python爬取CSDN博客访问量数据并绘制成柱状图
以下内容为本人原创,欢迎大家观看学习,禁止用于商业及非法用途,谢谢合作! ·作者:@Yhen ·原文网站:CSDN ·原文链接:https://blog.csdn.net/Yhen1/article/ ...
- python 从同花顺获取数据导出,通达信PYTHON读取本地数据,如何使用python在文件中读取数据?...
Q1:如何使用python在文件中读取数据? file = open('a','r').readlines()[1] Q2:python怎么将本地一个文件夹的所有文本读进内存中 列出文件,把各个文件打 ...
- Python获取excel的数据并绘制直方图
Python刚入门,欢迎大家多多交流~ 最近做个小项目,获取医疗数据文件Raw Data MAKO v2.xlsx中的一个名为PHIN-22E_KR的sheet ,获取其指定几列的数据并绘制直方图.e ...
最新文章
- 斯坦福大学报告称中国AI论文引用率首超美国!但李国杰院士也发文灵魂拷问!...
- AutoX无人车完成1亿美元A轮融资,东风汽车领投,阿里旗下基金入股
- excel求期望_商务数据分析考试:决策树分析(Excel)-安聪
- python发声-python写报警程序中的声音实现winsound
- SQL 必知必会·笔记9使用子查询
- Annotation之一:Java Annotation基本功能介绍
- PHP字符串相关的方法
- MySQL InnoDB索引介绍及优化
- 计算机组成 交换的目的,计算机组成原理试卷.docx
- scp命令下载整个目录
- tp5数据排序分页展示
- 一文带你彻底理解Linux的各种终端类型及概念
- java2实用教程第四版pdf下载_Java 2实用教程(第4版)
- linux下libreoffice增加字体,自由办公说:LibreOffice添加中文标点扩展
- ios 切换多任务后台界面应用闪屏
- 安卓利用Xposed实现通话双向录音
- JSON——Json对象扁平化
- Java实习生常规技术面试题每日十题Java基础(四)
- 西电 计算机学院 博后流动站,西电7个博士后科研流动站接受专家组综合评估检查...
- php5.3不能连接mssql数据库的解决方法
热门文章
- 编程都该学什么语言?几个流行编程语言对比
- Deepin Linux系统安装及显示器配置教程(可竖屏)
- Cathy推荐Java面试题
- 脑电数据的实验范式及EEGLAB分析预处理
- 记戴尔科技峰会2017
- 功能测试的测试点全集
- 块存储、文件存储、对象存储这三者的区别
- 在html中frame标签的作用,HTML中的frame标签常见的6大属性,新手一定要悉知!
- kbd通达2017版破解后,自定义菜单无法调用表单开启流程/kbdkbd 错误,请联系管理员 /general/approve_center/new/insert.php/kbd
- 安卓 阿拉伯语显示时文字的适配