Python TypeError:无法连接';str';和';列表';来自CSV的对象
我有一个输入是WHOIS_Python.csv。它在一列四行中包含四个IP 我将运行以下代码:Python TypeError:无法连接';str';和';列表';来自CSV的对象,python,csv,Python,Csv,我有一个输入是WHOIS_Python.csv。它在一列四行中包含四个IP 我将运行以下代码: import csv import requests API_URL = "http://ip-api.com/line/" with open('WHOIS_Python.csv') as csvfile: IPReader = csv.reader(csvfile, quotechar='|' ) for row in IPReader: res = reque
import csv
import requests
API_URL = "http://ip-api.com/line/"
with open('WHOIS_Python.csv') as csvfile:
IPReader = csv.reader(csvfile, quotechar='|' )
for row in IPReader:
res = requests.get(API_URL + ''.join(row) + "?fields=query,as")
print(res.text)
import requests
IP = "74.125.68.100"
API_URL = "http://ip-api.com/json/"
res = requests.get(API_URL + IP + "?fields=query,as")
print(res.text)
这是目前的结果:
222.22.222.22
222.22.2.22
22.222.2.222
2.2.222.22
我已经通过运行以下代码测试了API:
import csv
import requests
API_URL = "http://ip-api.com/line/"
with open('WHOIS_Python.csv') as csvfile:
IPReader = csv.reader(csvfile, quotechar='|' )
for row in IPReader:
res = requests.get(API_URL + ''.join(row) + "?fields=query,as")
print(res.text)
import requests
IP = "74.125.68.100"
API_URL = "http://ip-api.com/json/"
res = requests.get(API_URL + IP + "?fields=query,as")
print(res.text)
我将收到以下结果(这是我希望得到的结果):
最初,我得到的是“TypeError:无法连接'str'和'list'对象”,但现在这不是问题所在。我希望在测试API时得到相同的结果
行
是一个列表。在python中不能连接字符串和列表。你有几个选择
res=requests.get([API\u URL]+row+[“?fields=query,如“])
res=requests.get(API\u URL++.join(row)+?fields=query,as))
如果该行是一个列表列表,那么您可以根据需要应用上述内容,和/或订阅您正在查找的数据,即
行[0]
什么是IP
?您不会显示行不在for
循环中。IP
从哪里来?很抱歉,它应该说:对于IPReader中的行:res=requests.get(API_URL+row+“?fields=query,as”)print(res.text)多行CSV将返回一个嵌套列表,每个子列表代表一行。也就是说,IPReader=[[row\u 1],[row\u 2]]
。尝试更改为res=requests.get(API\u URL+row[0]+“?fields=query,as”)
谢谢roganjosh。我尝试了你的建议,它返回了IP列表。我不再收到错误,但它只返回IP列表,而不是AS。谢谢你mrdomoboto。我尝试了第二个建议,但它只返回IP列表。我不再收到错误,但它只返回IP列表,而不是ASI。如果您不向我们显示您的数据,我们任何人都很难尝试帮助您。请给我们一个清晰的输入(数据输入,即csv)以输出(计算后的数据,即res
是什么)示例@懒散的人是站不住脚的。我已经更新了原来的帖子,我希望这能提供一些清晰的信息。如果你需要更多的信息,请告诉我。多莫博托先生,我仔细检查了我的代码,意识到一切都按预期的方式运行。url试图同时提取查询值和'as'值,但这四个IP没有'as'值。非常感谢你的帮助!!