皆さん! ファイルを.json
ファイルに変換するのに、Python 2.7
とxlrd
を使用しています。このスクリプトでも達成したいことは、入力から結論を引き出すことです。これにより、人為的なエラーも少なくなります。しかし、私のコードに問題があります。ユーザーはセル内に一定の値を入力する必要があります。これは、hunderedごとのブックからのページを表します。私はチェックしたい:100以上のページがあるか?私が使用しているコードPython:変数が大きいか小さいかチェックif/else文
import sys
import xlrd
dir = '/path/to/JSON/to/write'
dirworksheet = '/path/to/excel/file'
file = sys.argv[1]
fileJSON = sys.argv[1]+'.json'
work_path = os.path.join(dirworksheet,file)
full_path = os.path.join(dir,fileJSON)
worksheet = xlrd.open_workbook(work_path)
sheet_generalinfo = worksheet.sheet_by_index(0)
data_generalinfo = []
for colnumber in range(1, sheet_generalinfo.ncols):
key1 = OrderedDict()
row_value = sheet_generalinfo.col_values(colnumber)
key1['publish_id'] = 1
key1['book_name'] = row_value[1]
key1['pages_per_100'] = float(row_value[2])
if row_value[2]>= 1:
key1['greater_or_smaller']='greater'
else:
key1['greater_or_smaller']='smaller'
key1['samples'] = data_samples
data_generalinfo.append(key1)
json = json.dumps(data_generalinfo)
with open(full_path, 'w') as datafile:
datafile.write(json)
print(full_path)
コードは正常に動作します!しかし、私はJSONファイルを見ると、それは常に真実を言う!エクセルファイルにと入力しましたが、1.4
ですが、常にgreater
が返されます。この声明で私は間違って何をしていますか?
は、あなたが正しいものをテストすることを確認するために、あなたのコード内で値を出力します。 – Chr
row_value [2]> = 100の代わりにrow_value [2]> = 1の場合はどうしますか? –
値は100であるので、100ページ=> 1 –