Jupyter Notebook如何导入python文件时的问题
作者:量化橙同学
Jupyter Notebook导入python文件时问题
如果你发现在同目录下的ipynb文件导入py文件总是告诉你,模块不存在,模块找不到,那你就重新创建一个ipynb文件,新的,和之前那个一毛一样就可以,大不了重新启动一下Jupyter Notebook然后你就会发现是你的电脑在逗你玩
上图:
如图所示,apha101和DataProcessor.ipynb,进入到DataProcessor.ipynb,新建一个cell
这是无论如何都找不到的apha101,它是想C位出道吗?!
接着我们进入到刚刚新建的test.ipynb中,神奇吧,神奇~~~~~~~~~~~~~~~~
使用Jupyter Notebook导入csv数据时的错误
问题描述
前两天学了几个机器学习的模型,今天想拿kaggle上的数据集练练手,然后开开心心的打开jupyter,正准备一展身手时,结果刚开始导入数据集就把我整懵了。
一般我都是习惯直接那pandas的read_csv,先把文件upload到工作目录下
代码里直接上,先引个包,然后就开始读,读完好像没啥问题,打印出来看看吧,嚯!这可把我吓坏了
import pandas as pd data = pd.read_csv("clinvar_conflicting.csv") data
这是个啥东西?特征不像特征,标签不像标签的。定睛一看,好像是吧我的第一行当作列名了。
hhh然后网上各种找解决方案,又是改编码,又是修改属性,结果这个bug没解决,又冒出来好多bug,比如
UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xd4 in position 3: invalid continuation byte,UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xd4 in position 3: invalid continuation byte。。。
搞得我心态有点崩了
然后我再看看数据集,拿excel打开,完完整整,没啥问题
拿记事本打开,emmmm。。。好像有点小问题,第五行那里为啥是dGen啥的开头,不应该是一个数字吗,,拉到最后一看,原来是上一行太长了,结果换行了,hh
我心里一想不对啊,我刚才那spyder是呢一遍也打开了呀,不信你看
这到底是为啥呢?然后我还仔细看了看数据,诶?好像有的数据怪怪的,比如这个应该是一个字段下的,用“”包在一起的字符串,但是字符串里有,,难道是jupyter按照字符串里的逗号分隔了??仿佛自己知道了天机,然后又是一顿操作猛如虎,各种找资料,还是解决不了。然后我又看一眼jupyter的数据,哦,好像jupyter已经解决了这个问题了,我是zz。然后我看了kaggle上其他人的代码,人家这不是好好的吗?难道我用了个假python???
最后气得我直接在jupyter打开看文件,好家伙,这是啥啊,咋少了这么多数据呢???
怪不得我刚才在jupyter里上传的时候命名30多兆的文件到这里就只剩5兆了
好吧,我明白了,是不是只要我把路径改为绝对路径就好使了?
芜湖!果真,,,,终于导进来了!接下来就可以愉快的coding了!!!呜呜呜呜呜,就这个小bug弄了一下午。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。