我有一个小样本数据集:
import pandas as pd
df = {'ID': ['H576','H577','H578','H600', 'H700'],
'CD': ['AAAAAAA', 'BBBBB', 'CCCCCC','DDDDDD', 'EEEEEEE']}
df = pd.DataFrame(df)
它看起来像:
Out[76]:
CD ID
0 AAAAAAA H576
1 BBBBB H577
2 CCCCCC H578
3 DDDDDD H600
4 EEEEEEE H700
我还有一个小的.txt文件:
AAAAAAA
BBBBB
EEEEEEE
我想从dataframe和.txt文件中遍历'CD'列,如果有匹配项,则在.txt文件中打印出ID和CD
期望输出,output.txt:
H576
AAAAAAA
H577
BBBBB
H700
EEEEEEE
我的尝试:
import pandas as pd
df = {'ID': ['H576','H577','H578','H600', 'H700'],
'CD': ['AAAAAAA', 'BBBBB', 'CCCCCC','DDDDDD', 'EEEEEEE']}
df = pd.DataFrame(df)
f = open('file.txt')
for i in data.CD:
i = i.strip()
for line in f:
line = line.strip()
if df["CD"].str.contains(line).any():
position = df.index.get_indexer_for((df[df["CD"].str.contains(line)].index))
z = df.ReadID[position]
print(z)
print(line)
这不太对,我想我可能想得太多了
收益率
pd.read_csv
将file.txt
加载到数据帧中。然后可以选择数据帧中的单个列来定义序列keywords
:然后可以使用
Series.isin
方法构造布尔级数,当df['CD']
中的值位于keywords
时,该级数为真:使用
df.loc[mask]
选择df
的行,其中mask
为真:最后,可以使用
df.to_csv
形成所需的字符串。通过传递None
作为第一个参数df.to_csv
,将返回一个字符串(而不是写入文件)相关问题 更多 >
编程相关推荐