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

我在一个 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, end


JSONDecodeError: Expecting value: line 1 column 1 (char 0)


呼啦一阵风
浏览 189回答 3
3回答

梵蒂冈之花

包括您得到的错误,这些错误将为您指明正确的方向。不过对于初学者来说,map(str.strip,&nbsp;f)可能不代表什么。使用 strip 函数时,您应该包括要“剥离”的内容以及要从中剥离的字符串。例如,从本教程:str&nbsp;=&nbsp;"0000000this&nbsp;is&nbsp;string&nbsp;example....wow!!!0000000"; print&nbsp;str.strip(&nbsp;'0'&nbsp;)返回:this&nbsp;is&nbsp;string&nbsp;example....wow!!!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python