假設我有所有 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)
uj5u.com熱心網友回復:
首先閱讀您的檔案并創建一個物件串列。[{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)
現在您可以將其加載到 panda 資料框并應用排序和分組。構建資料框后,您可以簡單地從該資料框中的其他檔案中搜索密鑰并獲取您的數字
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/444539.html
上一篇:如果滿足條件,熊貓填寫組
