【发布时间】:2018-03-12 10:39:10
【问题描述】:
我有一个包含公司名称列的 csv 文件,我需要找到它的域名并将其存储在公司名称旁边的同一个 csv 文件中
到目前为止我使用过的代码
import pandas as pd
import clearbit
import json
clearbit.key = 'your secret key'
df = pd.read_csv("/home/vipul/Desktop/new.csv", sep=',', encoding="utf-8")
saved_column = df['Company']
i=0
for data in saved_column:
n = saved_column[i]
i = i+1
domain = clearbit.NameToDomain.find(name=n)
print(domain)
l = json.loads(domain)
print(l['domain'])
这里的代码给出了 json 中的域名 logo 和名称,但是如何只取域名
但这会产生错误l = json.loads(domain)
print(l['domain'])
错误:TypeError: the JSON object must be str, not 'NameToDomain'
csv 文件如下所示
Company
Accenture
AND Digital
Accenture
Kite Consulting Group
Capgemini
预期输出
Company Domain
Accenture accenture.com
AND Digital and.digital
Accenture accenture.com
Kite Consulting Group None
Capgemini capgemini.com
json 看起来像
Name: Company, dtype: object
{'name': 'Accenture', 'logo': 'https://logo.clearbit.com/accenture.com', 'domain': 'accenture.com'}
{'name': 'AND Digital', 'logo': 'https://logo.clearbit.com/and.digital', 'domain': 'and.digital'}
{'name': 'Accenture', 'logo': 'https://logo.clearbit.com/accenture.com', 'domain': 'accenture.com'}
None
{'name': 'Capgemini', 'logo': 'https://logo.clearbit.com/capgemini.com', 'domain': 'capgemini.com'}
【问题讨论】:
-
错误是对的,JSON加载需要一个字符串值。你的看起来已经像字典或对象了。检查类型并相应地提取。
-
如何获取这个json中域的值?
-
我没有检查你的代码,但我敢保证
clearbit.NameToDomain.find(name=n)不会返回一个字符串,而是一个NameToDomain类型的对象。这就是您收到此错误的原因。 -
您能分享一个示例 csv 文件吗?
-
@Vivek 电子邮件 ID ?