为了账号安全,请及时绑定邮箱和手机立即绑定

使用 CSV 中的数据迭代 URL 以进行 API 数据拉取 - Python

使用 CSV 中的数据迭代 URL 以进行 API 数据拉取 - Python

呼啦一阵风 2021-09-02 17:23:51
我在一个 CSV 文件的一列中有大约 20,000 个邮政编码。我正在尝试通过 API 根据这些邮政编码提取一些地理选举数据。此 API 的 url 迭代到最后(每次迭代的邮政编码都会更改)。我尝试了许多不同的代码示例,但都没有奏效。编辑:在下面粘贴一个我现在知道不起作用的示例 - 主要是因为我不需要条带功能。但是,如何让循环直接从 CSV 文件中提取邮政编码?还粘贴我收到的错误消息。    responses = list()    with open("testpostal.csv") as f:        for postal in map(str.strip,f):                 rrr = requests.get('https://represent.opennorth.ca/postcodes/{}'.format(postal))            data = json.loads(rrr.text)            responses.append(data)    print(responses)JSONDecodeError                           Traceback (most recent call last)<ipython-input-182-05e370407e9c> in <module>()      9     for postal in map(str.strip,f):     10         rrr = requests.get('https://represent.opennorth.ca/postcodes/{}'.format(postal))---> 11         data = json.loads(rrr.text)     12         responses.append(data)     13 ~/anaconda3/lib/python3.7/json/__init__.py in loads(s, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)    346             parse_int is None and parse_float is None and    347             parse_constant is None and object_pairs_hook is None and not kw):--> 348         return _default_decoder.decode(s)    349     if cls is None:    350         cls = JSONDecoder~/anaconda3/lib/python3.7/json/decoder.py in decode(self, s, _w)    335     336         """--> 337         obj, end = self.raw_decode(s, idx=_w(s, 0).end())    338         end = _w(s, end).end()    339         if end != len(s):~/anaconda3/lib/python3.7/json/decoder.py in raw_decode(self, s, idx)    353             obj, end = self.scan_once(s, idx)    354         except StopIteration as err:--> 355             raise JSONDecodeError("Expecting value", s, err.value) from None    356         return obj, endJSONDecodeError: Expecting value: line 1 column 1 (char 0)
查看完整描述

3 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

包括您得到的错误,这些错误将为您指明正确的方向。不过对于初学者来说,

map(str.strip, f)

可能不代表什么。

使用 strip 函数时,您应该包括要“剥离”的内容以及要从中剥离的字符串。例如,从教程:

str = "0000000this is string example....wow!!!0000000";
print str.strip( '0' )

返回:

this is string example....wow!!!


查看完整回答
反对 回复 2021-09-02
  • 3 回答
  • 0 关注
  • 188 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信