假设我创建了一个包含两行的csv:
>>> import csv
>>> csvfile = csv.writer(open('test.csv', 'w'))
>>> csvfile.writerow(['row'])
5
>>> csvfile.writerow(['row2'])
6
当我读到它的时候,我得到了最后一句新台词:
>>> open('test.csv').read()
'row\nrow2\n'
当然,这是可以预料到的,但在我的例子中,我不希望有它,因为它更容易解释:在执行拆分时不需要检查空行。你知道吗
>>> open('test.csv').read().split('\n')
['row', 'row2', '']
作为一种解决方法,您可以使用^{} 对象进行写入。在写入文件之前,可以对输出应用
rstrip()
:这样做的好处是保留了CSV库的全部功能。不过我还是建议你保留后面的新行。你知道吗
对于迭代方法:
它一次将数据写入一行,然后使用
StringIO()
方法处理最后一行,以删除尾随的换行符。你知道吗请执行以下操作:
经过一番调查,我找到了writerow源代码:https://hg.python.org/cpython/file/tip/Modules/_csv.c#l1254
而且,据我所知,有no such option in there
相关问题 更多 >
编程相关推荐