【发布时间】:2015-05-06 08:48:21
【问题描述】:
对于此数组中的每 4 个值,我希望它写入电子表格中的新行,同时忽略第一列。这是因为我将从一个单独的数组中放入不同的值。
例如,我有五列:
A B C D E
但是A是禁区……
我有一个数字 1-12 的数组,我想这样写:
A B C D E
1 2 3 4
5 6 7 8
9 10 11 12
在我的真实代码中,这些数字实际上不会按顺序排列,因此为什么这里可能必须使用某种形式的迭代,而不是依赖于特定值的逻辑。
我在我的测试代码中接近了类似的东西,但是 8 之后的值开始变得古怪,我假设它指的是 4 作为数组的成员而不是长度条件...
s1 = wb.add_sheet("Test")
s1.write(0, 0, "Col 1")
s1.write(0, 1, "Col 2")
s1.write(0, 2, "Col 3")
s1.write(0, 3, "Col 4")
s1.write(0, 4, "Col 5")
test_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
list2 = []
for val in test_list:
list2.append(str(val))
for c, col_val in enumerate(list2):
for r, row_val in enumerate(col_val):
if c + 1 > 4:
s1.write(r + 1 + 1, c - 4 + 1, row_val)
if c + 1 <= 4:
s1.write(1, 1 + c, row_val)
如果有人有实现此目的的好方法,请告诉我。
【问题讨论】:
标签: python arrays excel for-loop xlwt