【问题标题】:Python csv iterable expected, not int issue预期 Python csv 可迭代,不是 int 问题
【发布时间】:2018-10-23 14:52:47
【问题描述】:

所以我正在学习 csv 模块,并希望在该 csv 文件中打印第一个和第二个数组的第一个索引。试了很多次,还是不行。每次我都有“可迭代的预期,而不是 int”。编辑更改为 -> for x in range(len(xd) 它仍然不起作用

import csv
xd = [1,2,3,4,5]
dx = [5,4,3,2,1]
data = xd, dx
with open("houses.csv", "w", newline="") as p:
    cmon = csv.write(p, delimiter=",")
    for x in len(xd):
        yo = data[0][x], data[1][x]
        yo2 = list(yo)
        cmon.writerows(yo2)

【问题讨论】:

  • len(xd) -> range(len(xd))
  • len(xd) 将返回 int 而不是可迭代的

标签: python csv


【解决方案1】:

正如@Ghilas BELHADJ 指出的那样,您正在迭代一个整数:

在这一行:

for x in len(xd):

len(x) 返回 x 的长度/计数。迭代它调用:

for x in range(len(x)):

这将创建一个列表 [0,..., len(x)-1],然后您对其进行迭代以获取索引。

【讨论】:

    猜你喜欢
    • 2019-06-21
    • 2015-04-14
    • 2022-07-01
    • 2015-04-06
    • 2013-10-31
    • 1970-01-01
    • 2022-01-06
    • 2014-11-04
    相关资源
    最近更新 更多