[英]How can I iterate two files of different length in python3
请原谅我糟糕的英语。
我这里有这段代码,它使用 reportlab 编写了 pdf。 我从两个 CSV 文件中挑选数据。 对于第二个文件,如果它不可用,则提供一个可选文件。 当我在 iterable 中运行它时,有些页面没有出来。 我知道这是因为第一个文件和第二个文件的长度相同,但是如果执行 except 部分,第一个文件和第二个文件的长度将不同。 有没有一种方法可以对其进行编码,以便如果 file1 和 file2(except) 是可用的,那么 file2(except 的长度可以调整到与 file1 相同的级别,以便它遍历 file1 中的所有项目。
file1 = pd.read_csv('file1.csv')
try:
file2 = pd.read_csv('file2.csv')
except:
file2 = pd.read_csv('option2_file.csv')
c = canvas.Canvas('samplepdf.pdf')
for i, x in zip(file1,file2):
a = i[0]
b = i[1]
c = i[2]
d = i[4]
e = x[0]
f = x[1]
'''
Do something the values
'''
c.save()
无论我在这里有什么可能都不容易理解。 我想要的是遍历 file1 中的所有项目,但它没有发生,因为 file2 的项目长度不同。 想知道我是否可以找到一种方法来编写代码以将 file2 的长度调整为 file1 的长度,以便该过程成功。 File2 只是一个空文件,其中包含我键入的一些 __。
Python3 有一个名为itertools.zip_longest的 function 。 根据描述,它可能完全符合您的要求。 您只需为两个文件中较短的一个中缺少的元素提供默认填充值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.