爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 17949|回复: 11

[求助] python读取nc文件时,路径中包含汉字时报错

[复制链接]

新浪微博达人勋

发表于 2019-3-4 15:19:14 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
已经安装了netCDF4,在使用netCDF.Dataset打开nc文件时报错,代码如下:
from netCDF4 import Dataset
name = 'C:\Python学习\python_try\Tkinter\海表面温预报实况对比\sst.rz.2019021312.ocean_temp_2019_02_14.nc'
fid = Dataset(name,mode = 'r')

报错显示见图片附件.
求大神指点
python读nc报错.JPG
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-3-4 17:19:37 | 显示全部楼层
本帖最后由 Zoe_zuo 于 2019-3-4 17:22 编辑

如果是栅格数据,可以用python2.7或者ArcGIS自带的python IDLE 使用arcpy 读取NC数据,还有你这个报错是路径不对,尝试给'C前加r,或使用纯英文路径。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-3-4 17:34:51 | 显示全部楼层
你检查一下文件路径对不对,还有,你用的是Python2还是Python3?如果是Python2,把文件路径中的中文都改成英文。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2019-3-4 20:02:14 | 显示全部楼层
python3,读纯英文路径、文件没有问题,就是想问有没有办法能读包含中文的路径、文件
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2019-3-4 20:37:37 | 显示全部楼层
clarmy 发表于 2019-3-4 17:34
你检查一下文件路径对不对,还有,你用的是Python2还是Python3?如果是Python2,把文件路径中的中文都改成 ...


python3,读纯英文路径、文件没有问题,就是想问有没有办法能读包含中文的路径、文件
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-3-6 09:26:23 | 显示全部楼层
robin_ouc 发表于 2019-3-4 20:37
python3,读纯英文路径、文件没有问题,就是想问有没有办法能读包含中文的路径、文件

如果是python3,是可以读取中文路径的,我怀疑你以为用的是python3而实际用的是python2,你在脚本里嵌入下面这段代码
  1. import sys
  2. print(sys.version)
复制代码

然后运行看看输出的结果是啥
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-3-6 20:43:36 | 显示全部楼层
os.path.join,目录一层一层叠加试一下。注意c:\\这里要两个横岗。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-3-7 08:06:39 | 显示全部楼层
路径统一用双斜杠 \\
如 C:\\python\\python_try\\
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2019-3-7 22:48:11 | 显示全部楼层
本帖最后由 robin_ouc 于 2019-3-7 22:49 编辑
wenbinz 发表于 2019-3-7 08:06
路径统一用双斜杠 \\
如 C:\\python\\python_try\\

全英文的单斜杠、双斜杠都可以,包含汉字的双斜杠也不行:
name = 'C:\\Python学习\\python_try\\Tkinter\\海表面温预报实况对比\\sst.rz.2019021312.ocean_temp_2019_02_14.nc'
fid = Dataset(name,mode = 'r')
捕获1.JPG
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-3-9 12:31:06 | 显示全部楼层
这个是因为netCDF4这个库不支持中文路径,解决方法可以是拆分要读的文件名,然后把工作路径导航到该文件目录,例如:
(filepath,filename)=os.path.split(yourNcFile)
os.chdir(filepath)
d1=Dataset(filename)
坏处就是会导致工作空间路径的变动
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表