0

我想将json的返回值逐个单元格添加到excel中,例如

2003-1  2003-2  2003-3  2003-4  2003-5  2003-6  2003-7  2003-8  2003-9 ....
number  number  number  number  number  number  number  number  number ....

这是我的代码,但可以理解它只粘贴到第一个单元格,我无法构建我想要的系统。先感谢您..

    from xlwings import Workbook, Sheet, Range, Chart
    import requests
    import json

    payload = {'cityId':3969, 'lbDistricts':599, 'criter':149,'startdate':'2003-01','cmd':'result','areaCode':18439}
    url = "https://www.garantimortgage.com/apps/Socket/Webservice.ashx"
    r = requests.post(url, data=payload)

    wb = Workbook()
    data = json.loads(r.text)
    data = map(dict.values, data[u'output'][u'resultset'][u'record'][u'data'])
    for row in data:



Range("A1").value = '{:10}{:10}'.format(*row)
4

1 回答 1

1

根据文档:“在 Excel 中将(嵌套)列表分配给范围时,只需将左上角的单元格指定为目标地址就足够了。”

因此,您可以这样做(无需遍历 2D 列表并一次分配 1 行):

Range("A1").value = data

或者,如果您想转置完成的列表:

Range("A1").value = zip(*data)

我不确定您要通过格式化字符串来做什么,但希望这不是您的问题的一部分。

http://docs.xlwings.org/datastructures.html#lists

于 2015-02-27T15:30:46.160 回答