import pandas as pd
A=pd.read_csv("C:/Users/amulya/Desktop/graves lab/Mani/HIDDEN WORDS/Hidden_word_4.csv")
df1=pd.DataFrame(A)
B=pd.read_csv("C:/Users/amulya/Desktop/graves lab/words.csv")
df2=pd.DataFrame(B)
C=df1[df1.col1.isin(df2.col1)]``
df3=pd.DataFrame(C)
df3.to_csv("C:/Users/amulya/Desktop/graves lab/Mani/HIDDEN WORDS/out4.csv", encoding='utf-8', index=False)
答案 0 :(得分:1)
如果df2
是静态的,并且您只想对20个文件进行循环,那么您可以使用os
和re
来减少所需的代码量写。
import pandas as pd
import os
import re
path = "C:/Users/amulya/Desktop/graves lab/Mani/HIDDEN WORDS/"
df2 = pd.read_csv("C:/Users/amulya/Desktop/graves lab/words.csv")
files = [file for file in os.listdir(path) if 'Hidden_word_' in file]
for file in files:
num = re.search('.*_(\d{1,2})', file)[1]
df1 = pd.read_csv(path + file)
df3 = df1[df1.col1.isin(df2.col1)]
df3.to_csv(path+'out'+num+'.csv')
这假设路径中只有名称中包含'Hidden_word_'
的文件是您要分析的文件,但如果不是这样,您可以修改列表创建或思考关于文件命名和组织,以便更方便这样的事情。