0
コードで指定されている2つの列(IPとプラットフォーム)の対応する各値に対して、それらを連結し、この連結された文字列がcsvデータベース全体で発生する時間をカウントします。Python:対応するCSV行の値
このコードでは、現在、コマンドラインで1000行のデータを処理するのに約1時間かかるが、これはdouble-forループの結果であると思われる。それ以外の場合は、このdouble-forループを使用せずに、対応する各IPのプラットフォームをusers_country_platformリストにどのように追加できますか?
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)
代替ソリューションは、出力形式になるように国のキーの中に部分配列を確立することです[:プラットフォーム:国のカウント]が、その後、私は別のカウント方法が必要だと思います。どちらの方法についてもアドバイスをいただければ幸いです。
あなたの助けていただきありがとうございます。 –
回答を受け入れることを検討しますか? –
完了 - 申し訳ありませんが、私の最初の投稿はここにあります。 –