【发布时间】:2018-06-25 17:49:42
【问题描述】:
大家。
我找不到一种 Python 方法来忽略 CSV 中的“空白”行。我使用引号是因为我说的是看起来像 '','','','','' 的行 这是一个 CSV(空白行可以是随机的):
id,name,age
1,alex,22
3,tiff,42
,,
,,
4,john,24
代码如下:
def getDataFromCsv(path):
dataSet = []
with open(unicode(path), 'r') as stream:
reader = csv.reader(stream, delimiter=',')
reader.next() # ignoring header
for rowdata in reader:
# how to check here?
dataSet.append(rowdata)
return dataSet
以下是我一直在阅读的类似问题,但与此特别不同: python csv reader ignore blank row
【问题讨论】:
-
你可以使用
if any(x for x in rowdata): dataSet.append(rowdata) -
顺便说一句,改成
next(reader)也兼容Python3 -
与 schwobaseggl 的 @dekim 解决方案一起工作,完全符合预期。谢谢
-
@tonypdmtr 好电话,我只是在 2.7.x 中考虑,但现在我会记住这一点。