0
對於代碼中指定的兩列(IP和平臺)的每個對應值,我想將它們連接起來,然後計算此連接字符串在整個csv數據庫中出現的次數。Python:對應的CSV行值
此代碼目前需要幾乎一小時的時間才能通過命令行中的1000行數據,這似乎是雙for循環的結果。如果沒有別的,我怎樣才能將每個對應IP的平臺追加到users_country_platform列表中,而不使用這個double-for循環?
import sys
import csv
from collections import Counter
users_country_platform = []
with open(sys.argv[1], 'r') as UserLog:
IPs = [row['client_ip_address'] for row in csv.DictReader(UserLog)]
UserLog.seek(0)
platforms = [row['platform'] for row in csv.DictReader(UserLog)]
for platform in platforms:
for IP in IPs:
if IP != 'NULL' and platform != 'NULL' or 'None':
users_country_platform.append(str(response.country.iso_code) + ', ' + platform)
另一種解決辦法是在國家重點內建立一個子陣列,使得輸出將是形式[國家:平臺:數],但後來我想我會需要不同的計算方法。任何方法的建議,將不勝感激。
感謝您的幫助,我得到了您的建議。 –
考慮接受答案? –
完成 - 對不起,我的第一篇文章在這裏。 –