私はPythonを使用してExcelをpostgreSQLにインポートしています。以下は私が問題を抱えている分野です。実際の販売価格は整数データ型の値でしたが、今ではこの列にはPythonスクリプトを壊しているN/A値が含まれています。このスクリプトに追加できるものはありますか?データ型をvarcharに変更せずにN/Aを持ち込むよう指示します。整数フィールドのN/A
import psycopg2
import xlrd
book = xlrd.open_workbook("T:\DataDump\8888.xlsx")
sheet = book.sheet_by_name("ProjectConsolidated")
database = psycopg2.connect (database = "***", user="****")
cursor = database.cursor()
delete = """drop table if exists "Python".ProjectConsolidated"""
print (delete)
mydata = cursor.execute(delete)
cursor.execute('''CREATE TABLE "Python".ProjectConsolidated
(DCAD_Prop_ID VARCHAR(25),
Actual_Close_Date date,
Actual_Sales_Price integer,
);''')
print "Table created successfully"
query = """INSERT INTO "Python".ProjectConsolidated (DCAD_Prop_ID,
Actual_Close_Date, Actual_Sales_Price)
VALUES (%s, %s, %s)"""
for r in range(1, sheet.nrows):
DCAD_Prop_ID = sheet.cell(r,0).value
Actual_Close_Date = None if not sheet.cell(r,1).value else xlrd.xldate.xldate_as_datetime(sheet.cell(r,1).value,book.datemode)
Actual_Sales_Price = None if not sheet.cell(r,2).value else sheet.cell(r,2).value
values = (DCAD_Prop_ID,
Actual_Close_Date, Actual_Sales_Price)
cursor.execute(query, values)
cursor.close()
database.commit()
database.close()
print ""
print "All Done! Bye, for now."
print ""
columns = str(sheet.ncols)
rows = str(sheet.nrows)
print "I just imported Excel into postgreSQL"
Postgres DBでN/AをExcelからどのように表現したいのですか?空の文字列ですか?ヌル? 0? –
データ型を変更せずにN/Aを値として持ち込むことはできますか? –
スクリプトを投稿したり、問題をより完全に説明したりできますか? –