1

SQLクエリと結果を持つPython辞書を実装しました。

logtime = time.strftime("%d.%m.%Y)
sqlDict = {             'time':logtime,
            'Q1' : 50,
            'Q2' : 15,
            'Q3' : 20,
            'Q4' : 10,
            'Q5' : 30,
}

毎日、結果は辞書形式の CSV ファイルに書き込まれます。注: Python 辞書はオーダリングされません。そのため、追加のクエリ (Q7、Q8、Q9 など) がディクショナリに追加されると、各行の列が異なる場合があります。

('Q1', 25);('Q3', 23);('Q2', 15);('Q5', 320);('Q4', 130);('time', '20.03.2016')

('Q1', 35);('Q2', 21);('Q3', 12);('Q5', 30);('Q4', 10);('time', '21.03.2016')

('Q4', 22);('Q3', 27);('Q2', 15);('Q5', 30);('Q1', 10);('time', '22.03.2016')

辞書に新しい SQL クエリを追加すると、追加情報も同じ csv ファイルに保存されます。

たとえば、Q7 を追加すると、辞書は次のようになります。

sqlDict = { 'time':logtime,
            'Q1' : 50,
            'Q2' : 15,
            'Q3' : 20,
            'Q4' : 10,
            'Q5' : 30,
            'Q7' : 5,
}

csvファイルは次のようになります

('Q1', 25);('Q3', 23);('Q2', 15);('Q5', 320);('Q4', 130);('time', '20.03.2016' )

('Q1', 35);('Q2', 21);('Q3', 12);('Q5', 30);('Q4', 10);('time', '21.03.2016')

('Q4', 22);('Q3', 27);('Q2', 15);('Q5', 30);('Q1', 10);('time', '22.03.2016')

('Q1', 50);('Q3', 20);('Q2', 15);('Q5', 30);('Q4', 10);('time', '23.03.2016');('Q7', 5)

csv で利用可能なすべての情報、つまりすべての SQL キーについて、時間と値 (数値) のプロットをプロットする必要があります。

csv ファイルは規則的なパターンを保持していません。最後に、利用可能なすべての Q とそれに対応する値をグラフにプロットしたいと思います。行で Q が欠落している場合、プログラムはその日付の値を 0 と想定する必要があります。

4

1 に答える 1

0

csvを処理するだけです。すべての行の最後のセルが日付であることを知っているので、かなりフォーマットされています。

import csv

with open("file.csv","r") as f:
    spamreader = csv.reader(f,delimiter=";")
    for row in spamreader:
        for value in range(len(row)):
            query,result = value.strip('(').strip(')').split(",")
            if query != "time":
                # process it
                # query = 'QX'
                # result = 'N'
            else:
                # query = 'time'
                # result = 'date'

気になるのは、すべてを文字列として読み取るため、コンマで分割し、「(」と「)」を取り除く必要があることです。

例えば:

query,result = row[x].strip('(').strip(')').split(", ")

次に、クエリ = 'Q2' および結果 = 15 (両方のタイプ = 文字列)

于 2016-03-24T15:48:22.363 に答える