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

在Python中通过拆分特定字符上的字符串来选择csv文件中的行,python,csv,Python,Csv,我是python新手,我有一个csv文件,需要根据第三个“\ux”后的字符选择某些行 这是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, , , , , , ,

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

这是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)行。我似乎不知道如何让这个选择工作。我有以下代码:

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的四行。

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

for row in rows:
    if "001" in row[1]:
        print (row[1], row[13])
对于示例数据,它将打印:

('ttp_ws_sm_001_01', '117')
('ttp_ws_sm_001_blank', '31')
('ttpv1_001_', '67')
('ttpv1_001_01', '67')

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

for row in rows:
    if "001" in row[1]:
        print (row[1], row[13])
对于示例数据,它将打印:

('ttp_ws_sm_001_01', '117')
('ttp_ws_sm_001_blank', '31')
('ttpv1_001_', '67')
('ttpv1_001_01', '67')

那是票。谢谢你的帮助。MikeHirschmann,当然,事实上,罗马人的回答更精确,考虑接受它,谢谢。你的更好,因为001并不总是在第三。谢天谢地,阿加尼遵循了罗马人的准则,效果很好。现在我正在尝试从选择中计算117和31的总数。我试着这样做:它在If len(t)…001行之后:对于范围(13)中的数字:total+=int(row[13])print('Club 001'+'\t'+str(total))这是一张票。谢谢你的帮助。现在,我要做更多的事情。“MikeHirschmann,当然,事实上,罗马人的回答更精确,考虑接受它,谢谢。你的更好,因为001不总是在第三”。感谢我遵循罗马的代码,它工作得很好。现在我试着数字117和31 F的总和。我试着这样做:它在If len(t).“001”行之后:对于范围(13)中的数字:total+=int(row[13])print('Club 001'+'\t'+str(total)):如果你按照
print
语法的建议使用Python 3,你应该使用
和open(filename,newline='')作为f:
,如文档中所述。旁白:如果按照
print
语法建议使用Python 3,则应使用带有open(filename,newline='')的
作为f:
,如文档中所述。