Loops Python3.4:遍历DataFrame列以匹配字符串 资料
我目前正在尝试这段代码,尝试将statList中的一个指定值与上面的数据进行匹配,并返回匹配的值和包含特定值的行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
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])