<p>我会这样做:</p>
<pre><code>from collections import defaultdict
import xlsxwriter
class ExcelWorkbook():
def __init__(self, filename):
self.wb = xlsxwriter.Workbook(filename)
self.ws1 = self.wb.add_worksheet('Num')
self.ws2 = self.wb.add_worksheet('Result')
self._line_counts = defaultdict(int)
def write_data(self, ws, data, title):
self._write_row(ws, title)
self._write_row(ws, data)
def _write_row(self, ws, content):
ws.write_row(self._line_counts[ws], 0, content)
self._line_counts[ws] += 1
xlsxWorkbook = ExcelWorkbook('Test2.xlsx')
numArr = (0.000000520593523979187, 13.123456789, 1.789456, 0.002345, 0.00123, 1)
titleBar = ('Date', 'quantity', 'Average [m]', 'Standard Dev [m]', 'Test', 'Success')
xlsxWorkbook.write_data(xlsxWorkbook.ws1, numArr, titleBar)
xlsxWorkbook.write_data(xlsxWorkbook.ws2, numArr, titleBar)
</code></pre>
<p>通过使用<code>defaultdict</code>,您不需要为每个工作表显式保留行计数变量。<code>write_data</code>函数接受一个新参数<code>ws</code>,以便您可以设置应该写入的工作表。写一行可以分解成一个单独的方法来减少代码重复。在</p>
<p>这能回答你的问题吗?在</p>
<p><strong>编辑:</strong></p>
<p>默认值无法访问<code>self</code>,但您可以很容易地解决此问题:</p>
^{pr2}$