簡體   English   中英

比較兩個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

這就是最終的 output 應該是什么:

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:'克拉克·肯特',OU:'新聞',dc:'公司',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)

現在您可以將其加載到熊貓 dataframe 上並應用排序和分組。 一旦你構建了數據框,你可以簡單地從這個 dataframe 中的其他文件中搜索密鑰並獲得你的號碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM