1

製品テーブルで OpenERP インポートをテストしています。インポートする製品が 25,000 個以上ありますが、OpenERP のインポートは非​​常に遅いため、PostgresQL に直接インポートするスクリプトを見つけました。試してみましたが、「不正なマジック ナンバー」というエラーが表示されます。このビデオを見ました: http://www.firstclasscomputerconsulting.com/OpenERP/OpenERP70Videos/tabid/145/articleType/ArticleView/articleId/3/Import-data-into-OpenERP-7-using-direct-PostGRES-method.aspx これは同じスクリプトを使用しており、まったく同じことをしています。

私のインポートファイルは次のようになります。

Rabbit Patch 6x10 Chart/Black,0.01,0.01
DAZL-HARES EAR DK DUN PER LB,0.01,0.01
SQUIRREL DUBBING MED H.E./LB!,0.01,0.01

Windows用のZeusを使用して、pyファイルと.csvの両方を作成しました。

このサイトでこのエラーに関する他のスレッドを読みましたが、OpenERP と関連してこの問題への言及は見当たりませんでした。

スクリプトは次のとおりです。

import csv
import psycopg2

conn_string = "dbname='OpenERP' user='openpg' password='openpgpwd'"

conn = psycopg2.connect(conn_string)
cursor = conn.cursor()

reader = csv.reader(open('products_import.csv','rb'))

for row in reader:
    print row[1]

    statement = "INSERT INTO product_template (name,standard_price,list_price,mes_type,uom_id,uom_po_id," \
    "type,procure_method,cost_method,categ_id,supply_method,sale_ok) VALUES ('" + row[1] + "'," \
    + str(row[2]) + "," + str(row[2]) + ",'fixed',1,1,'product','make_to_stock','standard',1,'buy',True) RETURNING id"

    cursor.execute(statement)
    conn.commit()
    templateid = cursor.fetchone()[0]

    statement = "INSERT INTO product_product (product_tmpl_id,default_code,active,valuation) VALUES \
    (" + str(templateid) + ",'" + row[0] + "',True,'manual_periodic')"

    cursor.execute(statement)
    conn.commit()

助言がありますか?

py ファイルと csv を Python33 ディレクトリにコピーしてそこから試してみたところ、「print row[1]」行で構文エラーが発生しました... wth?

4

1 に答える 1