您的位置:首页 > 其它

pandas处理excel数据经验

2016-10-13 20:35 162 查看
1.excel文件名,或者工作簿中都不能含有中文字符,一旦含有,载入时就会报IO错误。列名似乎可以支持中文字符。

解决方案,网友遇到类似的问题,“csv文件中有大量中文,怎样在pandas里面显示?”

主要是解码编码的问题。

方案一:
pd.read_csv("example.csv",encoding="gb2312")补充下:import pandas as pddf = pd.read_csv("example.csv",encoding="gb2312")   这样基本能保证pandas读取中文后不乱吗,最近遇到还有例外的情况,用encoding = ‘gb18030’  就能解决。


方案二:
首先 python文件开始 添加 一行  #-*- coding=utf-8 -*-然后调用的时候 pd.read_csv(csvname,encoding="gb2312")然后看看你的python是保存为什么编码的, 推荐用notepad++打开,然后转化为utf-8 无BOM格式的。 这样无论在liunx还是window都能保证无乱码。


未能解决,还是无法按中文列名索引。

2.列名虽然显示中文正常,当试图按中文列名索引时仍然报错—-KeyError,函数getitem(self, key)不能正常运行。

c:\python27\lib\site-packages\pandas\core\frame.pyc in __getitem__(self, key)
1995             return self._getitem_multilevel(key)
1996         else:
-> 1997             return self._getitem_column(key)
1998
1999     def _getitem_column(self, key):


看样子中文字符不能作为Key。花时间去琢磨修改getitem(self, key)函数应该是可以解决这个问题的…..懒得搞,反正看英文也无所谓。

3.在数据展示方面,excel远比pandas来的舒服。看样子要结合excel与pandas来,全部导入到pandas中去,也不一定显著提高效率。所以应该小批量的导入,利用pandas的数据处理功能,方便的处理完之后,再搞好回excel。比如要计算农户非农行业从业人员的工资,可能要统计十来个人….至少写统计公式时要十来个人,在excel中写就无比恶心,这时候就应该导入到pandas中,计算完后,将结果放到excel中去。计算、绘图一类的任务,在pandas中完成。

4.展示DataFrame数据时,在Out cell的左侧单击,可unscroll或者scroll DataFrame。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据