Skip to main content
 首页 » 编程设计

python之通过在 Python 中的特定字符上拆分字符串来选择 csv 文件中的行

2025年05月04日22over140

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

这是来自 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 
... 

我正在尝试从 row[1] 中选择它 = 001 和 row(13)。我似乎无法弄清楚如何让这个选择工作。我有这段代码:

import csv 
import sys 
 
source = '\\\\filepath' #the folder i need to pull from 
with open(source + '\TTP_13_08.csv') as f: 
    rows = csv.reader(f) 
 
    for row in rows: 
 
       print (row[1], row[13]) 

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

请您参考如下方法:

>>> 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')