比较两个 csv 文件之间的数据并计算有多少行具有相同的数据

Compare data between two csv files and count how many rows have the same data

假设我有所有 OU 的列表 (AllOU.csv):

NEWS
STORE
SPRINKLES
ICECREAM

我想查看名为 'column3' 的第三列中的 csv 文件 (samplefile.csv),如果它与 samplefile.csv 中的内容匹配,则搜索每一行。 然后我想对它们进行排序并计算每行有多少行。

这是该列的样子:

column3
CN=Clark Kent,OU=news,dc=company,dc=com
CN=Mary Poppins,OU=ice cream, dc=company,dc=com
CN=Mary Jane,OU=news,OU=tv,dc=company,dc=com
CN=Pepper Jack,OU=store,OU=tv,dc=company,dc=com
CN=Monty Python,OU=store,dc=company,dc=com
CN=Anne Potts,OU=sprinkles,dc=company,dc=com

我想像这样(或列表)对它们进行排序:

CN=Clark Kent,OU=news,dc=company,dc=com
CN=Mary Jane,OU=news,OU=tv,dc=company,dc=com

CN=Pepper Jack,OU=tv,OU=store,dc=company,dc=com
CN=Monty Python,OU=store,dc=company,dc=com

CN=Mary Poppins,OU=ice cream, dc=company,dc=com

CN=Anne Potts,OU=sprinkles,dc=company,dc=com

最终输出应该是这样的:

2, news
2, store,
1, icecream
1, sprinkles

也许列表是对它们进行排序的好方法?像这样?

holdingList =['CN=Clark Kent,OU=news,dc=company,dc=com','CN=Mary Jane,OU=news,OU=tv,dc=company,dc=com'],
['CN=Pepper Jack,OU=tv,OU=store,dc=company,dc=com','CN=Monty Python,OU=store,dc=company,dc=com'],
['CN=Mary Poppins,OU=ice cream, dc=company,dc=com'],
['CN=Anne Potts,OU=sprinkles,dc=company,dc=com']

到目前为止我有这样的事情:

file = open('samplefile.csv')
df = pd.read_csv(file, usecols=['column3'])

#file of all OUs
file2 = open('ALLOU.csv')
OUList = pd.read_csv(file2, header=None)

for OU in OUList[0]:
        df_dept = df[df['column3'].str.contains(f'OU={OU }')].count()
        print({OU}, df_dept)

先阅读您的文件并创建一个对象列表。 [{CN:'Clark Kent',OU:'news',dc:'company',dc:'com'},...{...}]

创建列表后,您可以将其转换为数据框,然后应用 pandas 的所有分组、排序和其他功能。

现在要实现这一点,首先将您的文件读入一个变量,让我们调用 var filedata=yourFileContents。接下来拆分文件数据。 var lines = filedata.split('\n') 现在遍历每一行

dataList = [] 
for line in lines:
    item = dict()
    elements = line.split(‘,’)
    for element in elements:
        key_value = element.split(‘=‘)
        item[key_value[0]] = key_value[1]
        dataList.append(item)
print(dataList)

现在您可以将其加载到熊猫数据框上并应用排序和分组。一旦你构建了数据框,你可以简单地从这个数据框中的其他文件中搜索键并得到你的数字