2018-11-27'NoneType' object has no attribute 'to_csv'

自己的debug能力还是不强,写了一个利用列表读取与生成文件的脚本,结果遇到

'NoneType' object has no attribute 'to_csv' 

BUG code

def whvedelnnn():
    c = [11,12,21,22,31,32]
    a = ['tnb','tnb2','OB01','OB02','pjs01','pjs02']
    for i in range(6):
        print(a[i],c[i])        
        b = eval(a[i]).drop_duplicates(subset=None, keep='first', inplace=True)
        b.to_csv(str(c[i])+'.csv',index=False)
        
        """
        '''(1)指定列,默认所有(2)(3)true在原数据上修改.'''
        写入文件的三种方法
        b.to_csv(str(c[0])+'.csv',index=False)
        b.to_csv('%s.csv' % str(c[1]),index=False)
        b.to_csv('{}.csv'.format(str(c[2])),index=False)
        """    
    return

修正后的Code.

def whvedelnnn():
    c = [11,12,21,22,31,32]
    a = ['tnb','tnb2','OB01','OB02','pjs01','pjs02']
    for i in range(6):
        print(a[i],c[i])        
        b = eval(a[i]).drop_duplicates(subset=None, keep='first', inplace=False)
        b.to_csv(str(c[i])+'.csv',index=False)
        
        """
        '''(1)指定列,默认所有(2)(3)true在原数据上修改.'''
        写入文件的三种方法
        b.to_csv(str(c[0])+'.csv',index=False)
        b.to_csv('%s.csv' % str(c[1]),index=False)
        b.to_csv('{}.csv'.format(str(c[2])),index=False)
        """    
    return

BUG解释:

执行一次后发现a的类型变为了NoneType。

下次执行时就会出现如题所示的错误。

把True改为False后问题解决。

原因:如果函数会修改a本身,并且返回None,则不能把返回值再赋值给a。
相同类型错误:a = a.append(b)改为a.append(b)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容