您可以读取跳过真实文件中空白行的伪文件对象.我并不熟悉你正在做什么,但如果空行使你的阅读过程崩溃,或者你真的不想在那里留空线,这将比mac的答案更好.
class BlankLineSkipper(object):
def __init__(self, file):
self.file = file
def __iter__(self):
return (line for line in self.file if line.strip())
def read(self):
return ''.join(self)
>>> print open('lol.csv').read()
5,7,8
1,2,3
abc,lol,haha
>>> list(csv.reader(open('lol.csv')))
[['5', '7', '8'], [], ['1', '2', '3'], [], ['abc', 'lol', 'haha'], []]
>>> list(csv.reader(BlankLineSkipper(open('lol.csv'))))
[['5', '7', '8'], ['1', '2', '3'], ['abc', 'lol', 'haha']]
(您可能需要实现readline()或其他内容才能使代码正常工作,具体取决于它如何使用文件对象.)