【问题标题】:if index of array is not defined then define null element如果未定义数组的索引,则定义空元素
【发布时间】:2020-04-22 15:09:23
【问题描述】:

所以我有这个 google 表格文件,我需要提取事件数据并在 Django 中创建事件模型。到目前为止,我从 API 获取数据没有问题,但是电子表格中的某些字段是空的,因此,API 不会返回这些字段,例如,index 23 是完整的,但在 index 24 字段未定义。我可以在 Django 模型中输入空数据,完全没有关系。

我真正想要的是 if array[22][1] 是空的(它是 (array[22][0] is 'May 4'))然后为该索引附加空值。我写了这行但它不起作用,我该如何实现呢?

for row in range(index):
        for column in range(6):
            try:
                print(values[row][column])
            except IndexError:
                values[row][column].append('')

【问题讨论】:

  • 我认为你需要的是使用 values[row].append('')。由于您没有值[22][1],因此您不能在其上附加任何内容。
  • @cagta 但有价值(5 月 4 日)
  • 是的,但它是 values[22][0] 的值,它与 values[22][1] 无关。 values[22] = ['May 4'] 所以你想把它转换成 ['May 4', ' '],为此你应该附加 values[22] 列表。

标签: python django list


【解决方案1】:

如果row[column] 丢失,您想附加到row,而不是row[column] 本身(我们已经确定它丢失了,会给您一个TypeError 或其他东西)。

另一种选择是:

for row in values:
    if len(row) < 6:
        row.extend([''] * (6 - len(row)))

即“对于每一行,如果少于 6 个项目,则添加足够的 '' 项目以弥补差异”。

【讨论】:

  • 那个 [''] * (6-len(row)) 东西很聪明,谢谢!
猜你喜欢
  • 2017-05-20
  • 2017-05-25
  • 2012-12-08
  • 1970-01-01
  • 2011-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-12
相关资源
最近更新 更多