很抱歉提交这么小的问题,但它让我疯了。我有这一行永久地给我语法错误:
print(BDF) if header is 1
我也试过这个:
print(BDF) if (header == 1)
这是完整的功能:
def CSVtoDict(BDF, prune, header):
# Comes with the option to prune [] and to use headers
with open('%s%s.csv' % (dataDir,BDF), mode='r') as infile:
reader = csv.reader(infile)
saved = {}
for row in reader:
key = row[0]
saved[key] = [r for r in row[1:] if not (r is '' and prune is 1)]
print(BDF) if header is 1
return saved
可能导致这种情况的原因是什么?我正在调用函数:
adsMut = CSVtoDict(BaseDataFiles[0],1,1)
一切似乎都井然有序,每次都只给我语法错误。
答案 0 :(得分:6)
你必须为这一个班轮提供else
条款。以下行将起作用:
print(BDF) if header is 1 else None
答案 1 :(得分:6)
您使用单行if
格式有什么特殊原因吗?更常见的格式是:
if header == 1:
print (BDF)
答案 2 :(得分:2)
a if condition else b
使用python的三元条件运算符