私は、ウェブサイトから株価を掻き集めて、一連の価格の間のトレンド差を計算するプログラムを作成しようとしています。私は購入と売りの価格としてマークされたテーブルにデータを格納することでこれをやっています。 別々に実行すると問題なく動作します。しかし、2番目のプログラムは、同じプログラムに入れてしまいました。SQLiteテーブルから実際の値を返す方法
私はここに私のコード
だそれは株式あたりのレコード数であるとして、リスト内のすべての三つの値から傾向を計算することができることができるようにする必要がありますが、それらはすべて1つのリストにを入れています
def plot(price,trend_price):
for a in stock:
count1 = 0
count2 = 1
index = 0
value = ["0"]
cursor.execute("""SELECT """+price+""" FROM """+a+"""""")
trend = []
rows = cursor.fetchall()
for row in rows:
print(row[0])
trend.append(float(row[0]))
index = index + 1
if index == len(web):
percentage = []
for i in range(len(web)-1):
change = trend[count2]-trend[count1]
print(trend[count2],trend[count1])
percent = (change/trend[count1])*100
print(percent)
percentage.append(percent)
count1 = count1 + 1
count2 = count2 + 1
for i in percentage:
print(i)
if i <= 0:
if i == 0:
value.append(0)
elif i <= -15:
value.append(-4)
elif i <= -10:
value.append(-3)
elif i <= -5:
value.append(-2)
elif i < 0:
value.append(-1)
else:
if i >= 15:
value.append(4)
elif i >= 10:
value.append(3)
elif i >= 5:
value.append(2)
elif i >= 0:
value.append(1)
for i in value:
t = str(i)
cursor.execute("""
REPLACE INTO """+ a +"""
("""+trend_price+""")
VALUES
("""+ t +""")
""")
あなたはPyの中None
値に変換されますテーブルにNULL
値を持つ
Traceback (most recent call last):
File "C:/Users/Luke_2/Desktop/Computing/Coursework/live/Jan15.py", line 172, in <module>
run()
File "C:/Users/Luke_2/Desktop/Computing/Coursework/live/Jan15.py", line 167, in run
plot("BuyPrice","TrendBuy")
File "C:/Users/Luke_2/Desktop/Computing/Coursework/live/Jan15.py", line 88, in plot
trend.append(float(row[0]))
TypeError: float() argument must be a string or a number, not 'NoneType'
あなたのテーブルには 'NULL'があります。つまり、' row [0] 'は' None'に設定されています。おそらく、NULL以外の値だけを返すようにクエリを更新する必要がありますか? –
@MartijnPietersああ、それは後でトレンドを追加して私の代わりにそれを使用してnullのfiledsを作成する新しい行にそれらを追加する、私はそれを無視すると思った – HalfIrish