我在nonetype中有错误如何解决它

时间:2018-03-13 16:53:18

标签: python pandas csv nonetype

这里我试图获取公司的域名,公司名称存储在new.csv

我使用的代码

import pandas as pd
import clearbit
import json
clearbit.key = 'sk_1915de5d2d7b6e245d6613e3d2188368'
df = pd.read_csv("/home/vipul/Desktop/new.csv", sep=',', encoding="utf-8")
saved_column = df['Company'].dropna()
print(saved_column)
i=0
res = []
for data in saved_column:   
    n = saved_column[i]
    i = i+1
    data = clearbit.NameToDomain.find(name=n)
    if data is None null() res.append(data['domain'])
    print(res)
df['domain'] = res
df.to_csv("/home/vipul/Desktop/new.csv",index = False, skipinitialspace=False)

print("File saved to desktop as new.csv")

输出代码

python ts.py
0                ‎Accenture
1              ‎AND Digital
2                ‎Accenture
3    ‎Kite Consulting Group
4                ‎Capgemini
5             ‎Accenture UK
Name: Company, dtype: object
['accenture.com']
['accenture.com', 'and.digital']
['accenture.com', 'and.digital', 'accenture.com']
Traceback (most recent call last):
  File "ts.py", line 15, in <module>
    res.append(data['domain'])
TypeError: 'NoneType' object is not subscriptable

如何在NoneType遇到的情况下给出一些默认值,并将其与new.csv中相应的公司名称一起存储

要保存在new.csv中的预期输出

Company                  domain
‎Accenture                accenture.com
‎AND Digital              and.digital
‎Accenture                accenture.com
‎Kite Consulting Group    None
‎Capgemini                capgemini.com
‎Accenture UK             None

2 个答案:

答案 0 :(得分:0)

试试这个:

data = clearbit.NameToDomain.find(name=n)
try:
   res.append(data['domain'])
except Exception as e:
   #print(e)
   res.append(None)
print(res)

答案 1 :(得分:0)

这对我有用

    data=df.loc[i,'data column']
    try:
        res=clearbit.NameToDomain.find(name=data)['domain']
        df.loc[i,'res']=res
    except TypeError:
        pass