【发布时间】:2017-02-05 19:53:56
【问题描述】:
我要加入两个列表。
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)
【问题讨论】:
-
“空列”、空字符串是什么意思?
-
请包括预期的输出。从你的问题看不清楚。尤其是五行的由来。我对您的问题的最佳解释是 4 x 7。
-
对不起,伙计们,我是新手。我想要以下内容。当我尝试访问第一行之后的第 3-6 列时出现超出范围错误。 ['5', 'h', 'k', '9', 'a', 'd', 'b'] ['x', 'y', 'z','','','' ,''] ['a', 'b', 'c','','','',''] ['5', 'g', 'd','','','' ,''] ['w', '7', 'k','','','','']
-
我正在寻找一种方法来加入两个列表,从而为我提供完整的数组。任一列表的最大列数 x 任一列表的最大行数。我想填充当前具有空字符串的单元格。我这样做的方式是没有创建单元格。它不是一个完全矩形的阵列。谢谢
-
我有点困惑。 CSV 编写器需要一个嵌套列表:最外面的列表是数据集,然后嵌套在其中的列表代表一行。根本不需要用空字符串填充任何行以使行对齐。编辑:我们同时发表了评论。
writerows(注意末尾的 s)真的会导致它错位吗?