我正在使用 os 列出目录中的文件名。我还使用 pandas 列出 CSV 文件中一列的内容。我已经打印了两份打印品的结果,现在我想匹配两份打印品中出现的名称,并确定哪些名称是一份打印品所独有的。下面是我的代码,它获取 CSV 文件的名称和内容。
import os, sys
import pandas as pd
path = "/mydir/csvfile"
dirs = os.listdir( path )
for file in dirs:
print file
fields = ['Column']
df = pd.read_csv('/mydir/csv_file', skipinitialspace=True, usecols=fields)
print df.Column
* 编辑*
我想出了这个可行的解决方案。
import os, sys
import pandas as pd
path = "/mdir/csvfile"
dirs = os.listdir( path )
list_1 = [file for file in dirs]
fields = ['column']
df = pd.read_csv('/mydir/csvfile', skipinitialspace=True, usecols=fields)
list_2 = df.column.values.tolist()
list_3=[]
for i in list_1:
if i in list_2:
list_3.append(i + " True")
else:
list_3.append(i + " False")
print list_3
最佳答案
而不是
for file in dirs:
print file
建立一个列表:
files = [file for file in dirs]
然后使用DataFrame来检查:
df.Column.isin(files) # this will check elementwise
Out:
0 True
1 True
2 True
3 True
Name: Column, dtype: bool
或者
df.Column.isin(files).all() # if all of them are the same
Out: True
关于python - 匹配两个打印中的相同单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38745163/