【问题标题】:How to append/extend multiple elements into an Array?如何将多个元素附加/扩展到一个数组中?
【发布时间】:2018-12-23 01:39:21
【问题描述】:

我在尝试将标题输入到我的数组时遇到问题,我无法在数组中附加数组中值的标题。我也尝试过使用 .extend,但它也给我带来了问题。

mylist = []

for i in jsonResponse['M']:
     if i['x'] == 'n':
          x = ((i['x']))
          y = ((i['x']['y']))
          z = ((i['x']['z']))

          mylist.append([x,y,z])

          import pandas as pd

          #panda related stuff
          df0 = pd.DataFrame(data=mylist)
          df0.to_excel(writer, sheet_name='Sheet1', header=True, index=False)

我想拥有:

mylist.append('Header1': [x],['Header2': [y],['Header3': [z])

我尝试过使用.extend,因为我认为这是最合适的,但它给了我错误。

这样做的目的是当我将数据写入excel时,最好有一个标题。问题源于从 JSON 拉取上方一开始就打开数组,我想我必须打开数组,因为它是分配内存来存储值的一种方式。

我在想一个解决方案是为 JSON 拉取含义中的值创建一个数组:

x = []
y = []
z = []
for i in jsonResponse['M']:
     if i['x'] == 'n':
          x = ((i['x']))
          y = ((i['x']['y']))
          z = ((i['x']['z']))

          x.append('header1':[x])
          y.append('header2':[y])
          z.append('header3':[z]) 

但我不知道这是否可行;我真的不想经历这个,因为它有点费力,因为我有很多 json 对象。

我是 Python 新手,以前从未用过任何语言写过任何东西。我正在尝试,我花了大部分时间从文档中复制脚本,其他用户试图一起解析一个可行的代码,同时试图理解我正在尝试做什么。

【问题讨论】:

    标签: python json python-2.7 list pandas


    【解决方案1】:

    您要查找的内容在 Python 中称为 dictionary(或 dict)。

    dict 允许您创建如下映射:

    {'name': 'John', 'age': 30}
    

    所以,现在您要做的就是在 for 循环中创建一个 dict,然后将 dict 附加到 mylist

    for i in jsonResponse['M']:
        ...
        mylist.append({'Header1': x, 'Header2': y, 'Header3': z})
    

    【讨论】:

    • 太棒了,这真的有效,我看到了我的问题,我一开始确实尝试过,但它没有奏效,因为我是这样实现的:mylist.append('header1':[ x],'header2':[y],'header3':[z]) 所以我的问题是,括号指示列表是数组(列表)还是字典?
    • @UsualSuspect7 是的,大多数时候它取决于括号。 tuple - (1, 2, 3)list - [1, 2, 3]dict - {'a': 1, 'b': 2, 'c': 3}。 Python 中有另一种数据类型,称为set。它具有类似于 dict 的大括号,但没有映射 - set - {1, 2, 3}
    猜你喜欢
    • 2021-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    • 2019-10-16
    • 2021-10-26
    • 2011-05-22
    相关资源
    最近更新 更多