擅长:python、mysql、java
<p><code>csv</code>模块本身没有施加这样的约束。当您的代码到达变量<code>rowLimit</code>(您的问题中没有定义)时,它将停止编写,因此显而易见的简单解决方案是去掉该变量</p>
<p>这里有一个重构的尝试,它还重命名了变量以符合Python约定</p>
<pre class="lang-py prettyprint-override"><code>with open('Desktop/output.csv', 'w') as csvfile:
csv_writer = csv.writer(csvfile, delimiter=',', quotechar='"', quoting=csv.QUOTE_NONNUMERIC)
csv_writer.writerow(['Tooltip', 'Lat','Lon', 'Distance'])
for counter, feature in enumerate(features):
# if counter == row_limit:
# raise StopIteration('row_limit reached')
csv_writer.writerow([feature['TOOLTIP'], feature.geometry().centroid().asPoint().y(),feature.geometry().centroid().asPoint().x(), Ranker.calculateDistance(feature, layerEntrances)])
if counter % 100 == 0:
csvfile.flush()
</code></pre>
<p>当然,您可能使用一个程序来读取生成的CSV文件,该文件无法处理任意大的文件;至少Excel似乎对大于65535行的工作表有问题(但朋友不允许朋友使用Excel)</p>