您的位置:首页 > 编程语言 > Python开发

抓取文献数据以及采用Python读取csv文件并作图

2019-02-19 22:55 357 查看

       Hello,everyone!!! 我又来了,喜欢搞点骚操作,而又不好好科研的科研僧就是我,介绍完毕开始今天的闲聊。

 

如果你是直接看如何采用Python最简便的读取csv文件,就可以直接跳到第二部分进行阅读,如果对于抓取文献数据有点兴趣,就可以停留一下

一. 如何抓取文献数据

1.1 软件WebPlotDigitizer

下载地址:https://automeris.io/WebPlotDigitizer/

是不是看见这个界面已经爱上她了呢! 安装方法就略过了,windows下傻瓜式安装呢。

操作方法:

  • 第一步:导入图片:File---->Load Image

  • 第二步:选取坐标系上的四个点,确定坐标系取值范围

当然,如何确定这个软件也会贴心的告诉你呢!

确定四个点的起始位置,如果是指数形式,可以自行选择。

  • 第三步:选取数据点

  • 第四步:导出数据并保存为csv文件

这样你就可以把一些文献上的数据提取出来,然后就可以跟自己的计算结果或者实验结果进行对比分析了,是不是感觉自己科研水平提高了呢,当然我是没有了!

 

二. Python处理csv文件并作图

方法一:采用numpy的loadtxt函数:

由于代码比较简单,我就不解释了,看到网上很多大佬写的,感觉很深奥,我果断放弃了,我感觉代码简介,可以解决问题,效率高就可以了,不能让我们解决个问题,看的东西也太多了吧(纯属吐槽一下!)

先导入一些要用的包:

[code]import numpy as np
import matplotlib.pylab as plt
import pandas as pd
import csv

接下来是主要代码:

[code]data_csv1 = np.loadtxt("data2.csv",dtype=str,delimiter=',').astype(float)
data_x0 = data_csv1[:10,0]
data_y0 = data_csv1[:10,1]
plt.plot(data_x0,data_y0,'ro--')
plt.show()

我相信这个代码so easy我就不讲了!

方法二:采用python:

[code]with open('data2.csv','r') as csvfile:
reader = csv.reader(csvfile)
rows = [row for row in reader]
data_csv = np.array(rows).astype(float)
data_x = data_csv[:10,0]
data_y = data_csv[:10,1]
plt.plot(data_x,data_y,'ro--')
plt.show()

也比较简单了,就是open,list-->array, str-->float等一些需要注意的知识点了。

方法三:采用pandas中的read_csv函数

[code]csv_data1 = pd.read_csv('data2.csv',header=None)
data1 = csv_data1.to_numpy()

data_x3 = data1[:10,0]
data_y3 = data1[:10,1]
data_x4 = data1[10:17,0]
data_y4 = data1[10:17,1]
data_x5 = data1[17:,0]
data_y5 = data1[17:,1]
plt.plot(data_x3,data_y3,'bo--')
plt.plot(data_x4,data_y4,'ro--')
plt.plot(data_x5,data_y5,'go--')
plt.show()

是不是也是超级简单呢,哎呀能解决问题就可以嘛!

最后是提取的数据结果图像:

三. 总结

      希望对大家有帮助,上一次发布的博客由于没有及时预览,导致有些朋友的问题回答不及时,再次非常抱歉,在新的一年,我会更加关注,也会写出更多有意思的博客,可以更好的跟大家交流,好了这次就到这里了!

    最后还想说一下,如果你感觉python麻烦了,直接取出csv中的数据origin作图一次性搞定!!!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: