擅长:python、mysql、java
<p>你不需要两个循环。您只是不断重写<code>c</code>的值,直到它具有列的最后一个值</p>
<p>然后,您只需将该值写入第二张工作表的所有行</p>
<p>相反,使用一个循环,从当前行读取单个值,并将其写入第二张工作表中的相应行:</p>
<pre class="lang-py prettyprint-override"><code>for row in range(4, 34):
#copy from wb1
c = ws1.cell(row=row, column=4)
#paste in ws2
ws2.cell(row=row-1, column=4, value=c.value)
</code></pre>
<hr/>
<p>如果在图纸之间有一些常规转换,则可以采用以下更通用的方法:</p>
<pre class="lang-py prettyprint-override"><code>step = 2
read_start_row = 4
write_start_row = 3
amount_of_rows = 30
for i in range(0, amount_of_rows, step):
#copy from wb1
c = ws1.cell(row=read_start_row+i, column=4)
#paste in ws2
ws2.cell(row=write_start_row+(i/step), column=4, value=c.value)
</code></pre>