请原谅我的英语不好。
我这里有使用reportlab编写pdf的代码。我正在从两个CSV文件中选择数据。对于第二个文件,如果不可用,则提供一个可选文件。当我以迭代方式运行它时,某些页面不会显示出来。我知道这是因为第一个文件和第二个文件的长度相同,但是如果执行了除外部分,则第一个文件和第二个文件的长度将不会相同。有没有一种方法可以对它进行编码,以便如果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的函数。根据描述,它可以完全满足您的要求。您需要提供的是两个文件中较短的一个缺少的元素的默认填充值。