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

标签 python csv

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

关于python - 通过在 Python 中的特定字符上拆分字符串来选择 csv 文件中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18880399/

相关文章:

python - 如何按顺序组合三个不同大小的列表 Python

python - 确定两个或多个 boolean 评估全部为 False 的 pythonic 方法是什么?

python 2.7 : L += branch_length results in NameError: name 'L' not defined

csv - 使用 ISO-8859-1 编码在 golang 中解析 CSV

python - 在比较两个数据帧时,有没有有效的方法为单元格分配 id?

Python:快速下载多个文件

python - 查找列表条目 Python 的公分母

c++ - 如何用直引号C++替换特殊引号

python - 如何停止在 csv 文件末尾写一个空行 - pandas

javascript - 尝试逐行解析 csv 时出现 "No fiber running"