我加入了两个列表。
ListA
['5', 'h', 'k', '9', 'a', 'd', 'b']
ListB
[['x', 'y', 'z'], ['a', 'b', 'c'], ['5', 'g', 'd'], ['w', '7', 'k']]
我得到的结果是:
ListC
[['5', 'h', 'k', '9', 'a', 'd', 'b'], ['x', 'y', 'z'], ['a', 'b', 'c'], ['5', 'g', 'd'], ['w', '7', 'k']]
我想创建 5 行 x 7 列的完整数组,如下所示。
ListC
[['5', 'h', 'k', '9', 'a', 'd', 'b'], ['x', 'y', 'z','','','',''], ['a', 'b', 'c','','','',''], ['5', 'g', 'd','','','',''], ['w', '7', 'k','','','','']]
如果可能的话,我想在不安装 lambda 的情况下执行此操作,但如有必要,我会这样做。
提前谢谢。我当前的代码:
ListA = []
ListB = []
ListC = []
import csv
with open('List1.csv', newline='')as file1:
reader1 = csv.reader(file1)
for rowOfCells in reader1:
ListA.append(rowOfCells)
with open('List2.csv', newline='')as file2:
reader2 = csv.reader(file2)
for rowOfCells in reader2:
ListB.append(rowOfCells)
ListC = ListA + ListB
print (ListC)
with open("ListC",'w', newline= '') as outFile:
wr = csv.writer(outFile, dialect='excel')
wr.writerows(ListC)
>>> ListC = [['5', 'h', 'k', '9', 'a', 'd', 'b'], ['x', 'y', 'z'], ['a', 'b', 'c'], ['5', 'g', 'd'], ['w', '7', 'k']]
>>> ListC = [(e + [''] * (len(max(ListC, key=len)) - len(e))) for e in ListC]
>>> print ListC
[['5', 'h', 'k', '9', 'a', 'd', 'b'], ['x', 'y', 'z', '', '', '', ''], ['a', 'b', 'c', '', '', '', ''], ['5', 'g', 'd', '', '', '', ''], ['w', '7', 'k', '', '', '', '']]