Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops Python3.4:遍历DataFrame列以匹配字符串 资料_Loops_Python 3.x_If Statement - Fatal编程技术网

Loops Python3.4:遍历DataFrame列以匹配字符串 资料

Loops Python3.4:遍历DataFrame列以匹配字符串 资料,loops,python-3.x,if-statement,Loops,Python 3.x,If Statement,我目前正在尝试这段代码,尝试将statList中的一个指定值与上面的数据进行匹配,并返回匹配的值和包含特定值的行 915802|FINANCIAL INVESTORS TRUST|485BPOS|2015-03-19|edgar/data/915802/0001398344-15-001900.txt 1000045|NICHOLAS FINANCIAL INC|SC 13G|2015-03-27|edgar/data/1000045/0001436857-15-000014.txt 10001

我目前正在尝试这段代码,尝试将statList中的一个指定值与上面的数据进行匹配,并返回匹配的值和包含特定值的行

915802|FINANCIAL INVESTORS TRUST|485BPOS|2015-03-19|edgar/data/915802/0001398344-15-001900.txt
1000045|NICHOLAS FINANCIAL INC|SC 13G|2015-03-27|edgar/data/1000045/0001436857-15-000014.txt
1000180|SANDISK CORP|4|2015-02-18|edgar/data/1000180/0001242648-15-000006.txt
1364688|Copano Pipelines/Upper Gulf Coast LLC|424B2|2015-02-24|edgar/data/1364688/0001047469-15-001126.txt
1634066|Robbins Nicholas W.|4|2015-03-25|edgar/data/1634066/0001628280-15-001965.txt
9984|BARNES GROUP INC|4|2015-02-13|edgar/data/9984/0000009984-15-000013.txt
1601072|Abengoa Yield plc|6-K|2015-01-16|edgar/data/1601072/0001193125-15-012191.txt
.....
我理解这里的逻辑错误,在这里我最终返回每个统计数字和每一行。如何返回eachStat,然后返回包含eachStat的行

期望输出
看起来,代码的逻辑是正确的。适合我,但有一些变化:

915802   edgar/data915802/0001398344-15-001900.txt
1000045  edgar/data/1000180/0001242648-15-000006.txt
1364688  edgar/data/1364688/0001047469-15-001126.txt
9984     edgar/data/9984/0000009984-15-000013.txt

结果是您想要的输出

为什么不使用regexp?您需要特定的10位星号吗?txt文件中有数千行。我需要在每个hline中搜索指定值的列表(因此是特定的),并返回指定的列表值和包含该值的行。请阅读此内容如果您想要更清楚的帮助,请尝试显示您的输入和所需的输出。我想我在问题中所做的更改将使问题变得更清楚一些。
915802   edgar/data915802/0001398344-15-001900.txt
1000045  edgar/data/1000180/0001242648-15-000006.txt
1364688  edgar/data/1364688/0001047469-15-001126.txt
9984     edgar/data/9984/0000009984-15-000013.txt
with open('your_data.dat') as f:
    data = str.splitlines(f.read())

statList = ['915802', '1000045', '1364688', '198749', '9984']

for eachStat in statList:
    for eachLine in data:
        if eachStat in eachLine:
            print (eachStat, eachLine.split('|')[-1])