ArcGIS Pro 1.4 Pandas包导入的一个Bug修复全过程

127 篇文章 499 订阅
Pandas——熊猫包是Python里面一个超级神器,特别对于熟悉R语言的同学(比如虾神我这种),对pandas里面的DataFrame那是犹如他乡遇故知般的热泪盈眶啊。

而且Pandas在大数据处理领域,号称所有包里面的的No.1,因为它的存在,GB级上亿条的数据可以直接使用单机完成,具体可以查看下面文章:
《用Python Pandas处理亿级数据》
http://python.jobbole.com/84118/

这个包不但强大,而且还挺复杂,虽然网上各种流传啥《十分钟搞定Pandas》类似的文章,但是下面是Pandas的官方文档,Look:


1937页的官方文档……打印出来砸死人妥妥没问题。

难怪会出现各种简化教程的,否则啃官方文档都能把人撑死。

正因为这个神器包如此的流弊,所以虾神习惯了在任何Python的环境下都把它安装好,用起来。这段时间正好在弄公司要求推广的ArcGIS新的桌面客户端软件ArcGIS Pro,所以顺手也准备在Pro里面用起来(至于Pro是啥,大家有兴趣去网上找找资料,简单来说这个软件有如下优点:
1、64位客户端(专门为了灭ArcMap的32位的)
2、二三维一体化。
3、强大的本地、网络一体化资源利用。
4、帅……好吧,这一条就够了。

最后,Pro用的Python是3.5的版本……意味中Python中文编码再也不是问题了。
放张图片出来:


但是我在Pro中使用Pandas的时候,突然出了这样一个问题:


我去……这一刻,虾神的表情这样的:


embedded null byte……嵌入了空的字节是什么鬼……

回头检查了一下报错的Python源文件calencar.py,这是一个设置返回时间的文件,然后看看报错的语句:funcs(self.format)……

瞬间就恍然大悟了。



这是因为中文版操作系统中时间格式设置的问题,ArcGIS Pro读取系统的时间设置,燃鹅,Python用的是默认的设置,这样就起了冲突了,所以如果先运行一下语句:

#把Python的本地格式设为英文模式


import locale
locale.setlocale(locale.LC_ALL,'en')

再导入pandas的话:

就木有问题了。

为了方便,可以把这句话加入到报错的py文件中:

D:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\calendar.py
前面那一段,是你ArcGIS Pro安装的位置,自己找,后面是要修改的文件

在头部加入以下代码:
_locale.setlocale(_locale.LC_ALL, 'en')

如下所示:



加入完成保存,重启ArcGIS Pro,在导入pandas的时候,就木问题了:
下面测试一下:


打完收工。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虾神说D

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值