Python 在读取csv时嵌套ifs,是否有可能使其更快?
嘿,我需要从第1列中获取字符串,但若单元格同时包含“-”,那个么程序将从下一列(同一行)中获取值,我就这样做了。工作很好,但它是wau使它更快和更短的代码?我只是好奇,但想学点东西更快地工作:) 和sample.csvPython 在读取csv时嵌套ifs,是否有可能使其更快?,python,python-3.x,csv,nested,Python,Python 3.x,Csv,Nested,嘿,我需要从第1列中获取字符串,但若单元格同时包含“-”,那个么程序将从下一列(同一行)中获取值,我就这样做了。工作很好,但它是wau使它更快和更短的代码?我只是好奇,但想学点东西更快地工作:) 和sample.csv col1 col2 col3 col4 0 smth1 smth smth smth 1 smth2 - smth smth 2 - smth3 smth smth 3 smth4 smth smth smth 4 -
col1 col2 col3 col4
0 smth1 smth smth smth
1 smth2 - smth smth
2 - smth3 smth smth
3 smth4 smth smth smth
4 - - - smth5
smth表:)
输出是
smth1
smth2
smth3
smth4
smth5
您可以通过调用已筛选行的一个属性来读取该行,直到达到not
'-'
值:
for row in reader:
val = next(x for x in row if x!='-')
print(val)
如果行中的所有列都是'-'
,则可以添加默认值:
...
val = next((x for x in row if x!='-'), '')
没有一个lolumns所有行都有-,一次必须出现smthu你能解释一下吗xD?@MTG那么没有第二行你就没事了part@MTG我添加了答案的链接,您可以在其中阅读有关
next
和生成器表达式的内容。
...
val = next((x for x in row if x!='-'), '')