比较两个 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)
现在您可以将其加载到熊猫数据框上并应用排序和分组。一旦你构建了数据框,你可以简单地从这个数据框中的其他文件中搜索键并得到你的数字
假设我有所有 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)
现在您可以将其加载到熊猫数据框上并应用排序和分组。一旦你构建了数据框,你可以简单地从这个数据框中的其他文件中搜索键并得到你的数字