0

変数 temp_dict が他の条件以外で使用できるのはなぜですか? 配列内の各項目に ObjectId を設定している MongoDB に配列を保存するとき。Json パーサーは、ObjectId をシリアル化する方法を知りません。

def read_temporary_file(filename, has_header=False):
    wb = load_workbook(filename=filename, use_iterators=True)
    ws = wb.get_active_sheet()  # ws is now an IterableWorksheet

    headers = []
    rows = []
    documents = []

    for row in ws.iter_rows():  # it brings a new method: iter_rows()
        if has_header:
            has_header = False
            for cell in row:
                headers.append(cell.internal_value)
        else:
            temp_dict = OrderedDict()
            for cell in row:
                temp_dict[cell.column] = cell.internal_value
            rows.append(temp_dict)
            documents.append(temp_dict)

    print("Saving documents to MongoDB")
    __save(documents)
    print("Printing %s" % temp_dict)
    return (headers, rows)
4

1 に答える 1

3

Python では、関数全体がスコープです。あなたの他のような句は新しいスコープではありません。

于 2013-02-02T00:13:45.223 に答える