どの列をバイトからKBに変換する必要があるかを示すリストがあります。Python:変換のためのif文を入力しない
covert_to_kb_columns=[9, 10, 21, 22, 24]
私のコードを正しく実装するのに問題があります。私は'idx'
の数字のうちの1つに一致する数字が covert_to_kb_columns
リストにあるかどうかを確認したいのですが、それ以外の場合は計算をプリフォームする必要があります。 try/except
の文は、ファイル内に数字がないので、ゼロを付加するためのものです( )。
print covert_to_kb_columns
for idx, column_number in enumerate(columns_I_am_working_with):
print idx
#Check if I need to convert number from bytes to KB
if idx == [number for number in covert_to_kb_columns]:
print "Need to divide by 1024.0"
data_to_use.append("{:.1f}".format(float(row[column_number])/1024.0))
#Otherwise just append number as is
else:
try:
float(row[column_number])
data_to_use.append(row[column_number])
except ValueError:
data_to_use.append('0')
マイprint文は、私にこの結果を与える(注:すべての数字が印刷されたことを示すためであるが、私はそれらをすべて39個の数字を書いていないよ「」)
[9, 10, 21, 22, 24]
0
1
2
3
.
.
.
9
10
.
.
.
21
22
23
24
.
.
.
39
それはと思われます変換を実行するためにprintステートメントを入力することはありません。 私は問題がライン
if idx == [number for number in covert_to_kb_columns]:
であると思います。しかし、私は、インデックスがcovert_to_kb_columns
のすべての要素を含むリストと等しい場合、私は間違って