ValueError:int()的基数为10的无效文字:''date field

时间:2016-10-06 16:47:05

标签: python excel postgresql

我搜索了这个错误,并找到了一些信息。我正在将Excel导入postgreSQL,下面是我的脚本。我知道错误是关于Python如何处理空白字段。脚本无如果没有对我导入的其他表运行良好,它也适用于此表的Traffic字段但由于某些奇怪的原因抛出了Week_Ending日期字段的错误。我是Python和StackOverflow的新手,所以如果你决定投票我的问题,请告诉我原因。

import psycopg2
import xlrd
book = xlrd.open_workbook("consolidateddata.xlsx")
sheet = book.sheet_by_name("Builder_Traffic")
database = psycopg2.connect (database = "", user="", password="", host="", port="")
cursor = database.cursor()
delete = """Drop table if exists "Python".buildertraffic"""
print (delete)
mydata = cursor.execute(delete)
cursor.execute('''CREATE TABLE "Python".buildertraffic
   (Builder_Name varchar(55),   
Traffic integer,
Week_Ending date,
Project_ID integer
   );''')
print "Table created successfully"
query = """INSERT INTO "Python".buildertraffic (Builder_Name, Traffic, Week_Ending, Project_ID)
VALUES (%s, %s, %s, %s)"""
for r in range(1, sheet.nrows):
Builder_Name = sheet.cell(r,0).value
Traffic = None if not sheet.cell(r,1).value else sheet.cell(r,1).value
Week_Ending = None if not sheet.cell(r,2).value else xlrd.xldate.xldate_as_datetime(sheet.cell(r,2).value,book.datemode)
Project_ID = sheet.cell(r,3).value
# Assign values from each row
values = (Builder_Name, Traffic, Week_Ending, Project_ID)
# Execute sql query
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" 

运行时,这会因堆栈帧

而失败
Week_Ending = None if not sheet.cell(r,2).value else  xlrd.xldate.xldate_as_datetime(sheet.cell(r,2).value,book.datemode)
File "C:\Python27\lib\site-packages\xlrd\xldate.py", line 123, in xldate_as_datetime
days = int(xldate)
ValueError: invalid literal for int() with base 10: ''

0 个答案:

没有答案