python pdfplumber 打开文件失败_喜大普奔 | 如何在Win10下利用Python打开grib文件
为什么要花差不多半个月来研究这个,明明Linux比这个简单多了……
窃格瓦拉·瓶:学Linux是不可能学Linux的,这辈子都不可能喜欢命令行的,Win10说话又好听,我偷别人代码养你啊(?)
总之就是提不起兴趣学Linux,但是组里的绝大部分数据都是grib格式的,为了让自己能在Win10的溺爱下多摸鱼一会,只能想个办法找个借口了。
感谢来自英俊的Sonic师兄的帮助,以及网络上曾经写过相关教程的大佬们,参考链接见后。
我的情况:Windows10专业版,使用了Anaconda安装、管理相关的包,编译器则选择了JupyterLab。
下面介绍一下我的方法。
根据参考链接[1],最简单的方法就是利用xarray和cfgrib来打开grib文件了。文中提到要首先安装ECcodes这个包,还介绍了离线安装的步骤,我试了很多个eccodes的版本,尽管离线安装成功,但是在后续过程中仍然会报错:
如果直接安装eccodes,不是和上图里一样报了的错误,就是环境配置一直loading,最后帮我把所有安装的包都更新了一遍……
(说到这个真的把我气坏了,我刚开始根本不知道它在更新包,只看到整个屏幕都是进度条,我既不知道怎么暂停进程,又不敢直接关掉电脑,只能把电脑盖子合上物理断网……)
考虑到eccodes是cfgrib的依赖包,如果要安装cfgrib的话应该会自动帮我把eccodes也装了吧?于是我尝试直接安装cfgrib,确实没有报unknown的错误了,但是Solving environment又出问题了:
所以到底应该怎么办?
根据参考链接[2]以及Sonic师兄的谆谆教导,我得知了在 (base) 环境下安装包很容易冲突,因此可以像[2]中所说的,在 (base) 下输入以下代码,即可新建一个虚拟环境以安装cfgrib:
conda create -n cfgrib_env python=3.7.0
其中cfgrib_env是环境名称,可以修改为自己喜欢的名字;而python=(版本号)也可以改为自己需要的版本,此时我们就有了一个新的、版本为3.7.0的Python环境。
然后输入以下代码启动刚刚设定好的虚拟环境:
activate cfgrib_env
这个时候 (base) 就会变成 (cfgrib_env) 。但是,我们之前装好的xarray、cartopy是在 (base) 环境中安装的,于是要在激活了cfgrib_env的环境下,利用conda install ~~的命令,重新在新环境下进行安装我们需要的包——不要忘了装cfgrib哦。
搞了这么多东西,总应该能读取grib文件了吧?
但是,我们的编译器所处环境更新了吗?事实证明没有,我还是没有办法在编译器里import cfgrib。这个时候就要用到参考链接[3]和[4]的办法了。
ps. 也可参考链接
在 (base) 下安装anaconda的NB插件:
conda install nb_conda
然后,切换到新的环境(如cfgrib_env)中,安装Jupyter:
pip install jupyter
完成这两个步骤后,就会发现这个nb_conda到底有多nb了:这个插件可以让我们在JupyterLab里很方便的切换需要的环境——在打开代码前利用下拉菜单选择即可。
好了,让我们写代码验证一下是不是真的能打开grib文件并提取数据来画图吧!
import xarray as xrimport numpy as npimport cfgribimport matplotlib.pyplot as pltimport xarray as xrimport cartopy.crs as ccrs import cartopy.feature as cfeat from cartopy.io.shapereader import Reader from cartopy.mpl.ticker import LongitudeFormatter,LatitudeFormatter
plt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus'] = False
file = 'G:/temp20090410.grib'obj = xr.open_dataset(file, engine='cfgrib')
t2m = obj['t2m']-273.15t2m.attrs['units'] = 'degree C'
proj = ccrs.PlateCarree()fig = plt.figure(figsize=(9,6),dpi=150)ax = fig.subplots(1, 1, subplot_kw={'projection':proj})
ax.add_feature(cfeat.COASTLINE, linewidth=0.6, zorder=1)
t2m.plot.contourf(ax=ax,levels=np.arange(-40,35,5), cmap='Spectral_r', transform=ccrs.PlateCarree())
ax.set_title('2020年9月4日10时(世界时)地面两米气温')
fig.showfig.savefig('0904test', bbox_inches='tight')
确实是可以出图的(难掩激动):
最后,让我们大声喊一句Python永远滴神吧!(?)
谢谢你的阅读!
参考
^[1] https://www.jianshu.com/p/683d3bb5b3cd
^[2] https://blog.csdn.net/weixin_46604505/article/details/106910440
^[3] https://blog.csdn.net/w55100/article/details/88925697
^[4] https://zhuanlan.zhihu.com/p/139776843
^https://blog.csdn.net/xfdywy/article/details/80113079
python pdfplumber 打开文件失败_喜大普奔 | 如何在Win10下利用Python打开grib文件相关推荐
- python打开文件_喜大普奔 | 如何在Win10下利用Python打开grib文件
为什么要花差不多半个月来研究这个,明明Linux比这个简单多了-- 窃格瓦拉·瓶:学Linux是不可能学Linux的,这辈子都不可能喜欢命令行的,Win10说话又好听,我偷别人代码养你啊(?) 总之就 ...
- python谷歌浏览器驱动安装失败_阿里云centos7.2下安装chrome浏览器+webdriver+selenium及常见设置-傻瓜教程...
Linux版本:阿里云CentOS Linux release 7.2.1511 (Core) root用户下 测试时间:2019-04-16 1.安装chrome浏览器 1.1 创建yum源文件 c ...
- Python:pmml格式文件的简介、安装、使用方法(利用python将机器学习模型转为Java常用的pmml格式文件)之详细攻略
Python:pmml格式文件的简介.安装.使用方法(利用python将机器学习模型转为Java常用的pmml格式文件)之详细攻略 目录 pmml格式文件的简介 1.PMML结构 pmml安装 pmm ...
- linux 定时运行脚本_教你如何在Linux下让Python脚本自启动和定时启动
本文简单介绍如何在Linux下设置Python脚本自启动和定时启动. 一.Python开机自动运行 假如Python自启动脚本为auto.py.那么用root权限编辑以下文件: sudo vim /e ...
- Win10下的Python环境配置
Win10下的Python环境配置 原料 64位Windows10 专业版 安装Python 访问python的官方网站www.python.org,点击download,如图一 选择2.7版本,如图 ...
- windows环境下利用python进行CGI配置
windows环境下利用python进行CGI配置(win10,visual stdio 2017中的python3.6) 写在前面,初学python,看到python的CGI编程这一章的时候尝试在教 ...
- Linux下利用python实现语音识别详细教程
Linux下python实现语音识别详细教程 语音识别工作原理简介 选择合适的python语音识别包 安装SpeechRecognition 识别器类 音频文件的使用 英文的语音识别 噪音对语音识别的 ...
- ubuntu安装python库_Python安装:如何在ubuntu下安装python库
上面介绍到了python安装中如何在Windows下按章python库,接下来上海python培训小编介绍另外一种方法:如何在ubuntu下安装python库. 在ubuntu下进行python库的安 ...
- geany配置python win1_(亲测十分方便)win10下 配置python编辑器Geany配置
(亲测十分方便)win10下 配置python编辑器Geany配置 (亲测,十分方便!)win10下 配置python编辑器Geany配置 一.Python的安装 Python直接可以在官网下载(ht ...
最新文章
- 使用自定义材质球,实现NGUI屏幕溶解和灰显
- linux 查明文密码,win10系统查看明文密码的操作方法
- java中的io系统详解(转)
- Spring3的表达式语言
- Percona5.6自身已支持杀死慢SQL
- Synergy 一套键鼠同时控制多台电脑的神器
- python做数据库管理系统_python+Django+mysql+bootstrap前端,数据库一次搞定)从头教你毕设实现一个简易好看的仓储物资管理之类系统...
- 前端基础-html-表格的基本标签和相关属性
- 【PAT甲】1007 Maximum Subsequence Sum (25分),求最大字段和及区间
- windows cmd命令行findstr 类似linux中的grep
- python之struct详解_Python struct模块解析
- 如何卸载 3DMAX ?怎么把3DMAX彻底卸载删除干净重新安装的方法
- Tableau基础 | 维度、度量、蓝色、绿色
- 深度学习数据增强(data_augmentation):Keras ImageDataGenerator
- 少儿编程scrach(源码和课程)
- Typo: In word 拼写检查
- HashMap、LinkedHashMap、TreeMap的深入认识
- Java入门学习笔记(一)
- u盘格式化不了怎么办?分享必须掌握的好方法!
- MPlayer软件研究篇(一)──输出驱动
热门文章
- 深入理解SpringCloud之Eureka注册过程分析
- HBase笔记整理(二)
- Solr 中 Schema 结构说明
- atcoder 2017Code festival C ——D题 Yet Another Palindrome Partitioning(思维+dp)
- 2016 中国大数据技术大会 相关资料
- Autocad 2015如何激活成功
- 通过jQuery EasyUI实现基本的拖放,此为转发!!大家学习讨论
- 感谢大家对《软件性能测试与Loadrunner实战》的支持
- python语音程序设计教程_Python语言程序设计(视频教程)
- linux 0.11 返回用户侧,iPhone 11 11 Pro 用户必备教程:重启手机,恢复模式,DFU模式...