過去1週間分のADIFデータです。
最後の数時間のみ。
米国局のみ。
Ham Radio Blog
QSOレートではなくて、レポーティングレートの比較です。グラフは、全ての局について。
これは、JA局以外。
これは、USA局のみ。
import re import datetime file_name1 = 'station1.adif' def parse_adif(fn): raw = re.split('<eor>|<eoh>',open(fn).read() ) raw.pop(0) raw.pop() logbook =[] for record in raw: qso = {} tags = re.findall('<(.*?):\d+.*?>([^<\t\n\r\f\v]+)',record) for tag in tags: qso[tag[0]] = tag[1] logbook.append(qso) return logbook def mydatetime(date, time): dt = datetime.datetime(int(date[0:4]), int(date[4:6]), int(date[6:8]), \ int(time[0:2]), int(time[2:4]), int(time[4:6])) return dt l1 = parse_adif(file_name1) count = 0 dt0 = datetime.datetime(2018, 5, 23, 11, 38, 44) dt9 = datetime.datetime(2018, 5, 23, 15, 5, 29) for qso1 in l1: dt1 = mydatetime(qso1['QSO_DATE'], qso1['TIME_ON']) if dt1 >= dt0 and dt1 <=dt9: td = dt1 - dt0 print(td.total_seconds()/3600.0, count) count += 1
% cat stationXYZ.adif | grep FREQ:8\>7\. | grep PSKREP | grep -v Japan > station1.adif % python3 adif_parse.py > data1.csv % R > data1=read.csv("data1.csv", header=F, sep="") > data2=read.csv("data2.csv", header=F, sep="") > plot(data1$V1, data1$V2, xlab="time [hour]", ylab="no. of stations received", pch=16, col="#00ff0080", tck=1, xlim=c(0.0, 3.5), ylim=c(0,600)) > par(new=T) > plot(data2$V1, data2$V2, xlab="time [hour]", ylab="no. of stations received", pch=16, col="#ff000080", tck=1, xlim=c(0.0, 3.5), ylim=c(0,600))