Python csv可迭代预期,不是int问题

时间:2018-10-23 14:52:48

标签: python csv

所以我正在学习csv模块,并希望在该csv文件的第一个和第二个数组的第一个索引中进行打印。尝试了很多次,但仍然无法正常工作。每次我有“令人期待的期望,而不是int”。编辑更改为->范围内的x(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)

2 个答案:

答案 0 :(得分:0)

正如@Ghilas BELHADJ所指出的,您正在遍历一个整数:

在这一行:

for x in len(xd):

len(x)返回x的长度/计数。要对其进行迭代,请调用:

for x in range(len(x)):

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

答案 1 :(得分:-1)

for语句不正确。
Python将for x in len(xd)评估为for x in 5in之后的值应该是一个值的范围,而不是单个数字。

正如@ ghilas-belhadj所评论的那样,将len(xd)替换为range(len(xd))