在Python中用特定字符拆分字符串来选择csv文件中的行

2024-04-23 11:21:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python新手,我有一个csv文件,我需要根据第三个“u”之后的字符选择某些行。在

以下是csv文件中的示例:

header row
date,ttp_ws_sm_001_01, , , , , , , , , , , ,117
date,ttp_ws_sm_001_blank, , , , , , , , , , , ,31
date,ttp_ws_sm_045_01, , , , , , , , , , , ,145
date,ttp_ws_sm_057_blank, , , , , , , , , , , ,98
date,ttpv1_001_, , , , , , , , , , , ,67
date,ttpv1_001_01, , , , , , , , , , , ,67
...

我试图从第[1]行中选择它=001行和第(13)行。我似乎想不出如何使这一选择生效。我有这个代码:

^{pr2}$

这将打印整个csv文件的两列。 在这个csv文件中,我只需要包含001的四行。在


Tags: 文件csv代码示例datews字符row
2条回答

检查001是否在row[1]中:

for row in rows:
    if "001" in row[1]:
        print (row[1], row[13])

对于示例数据,它将打印:

^{pr2}$
>>> with open(...) as f:
...     rows = csv.reader(f)
...     for row in rows:
...         t = row[1].split('_')
...         if len(t) >= 4 and t[3] == '001':
...             print (row[1], row[13])
... 
('ttp_ws_sm_001_01', '117')
('ttp_ws_sm_001_blank', '31')

相关问题 更多 >