我将Excel文件读入pandas,然后尝试将值插入postgres db。 我使用以下代码将数据转换为python日期:
date_val = 42565.0
year, month, day, hour, minute, sec = xlrd.xldate_as_tuple(date_val, 0)
py_date = "%02d.%02d.%04d" % (day, month, year)
我还没有能够找到一个解决方案,用于将日期列中的空值传递给postgres使用(psycopg2),python 2.7.12。列中的某些值为空,pd.read_excel
将这些值解析为NaN
。我尝试将数据插入postres db时遇到的错误是:
<class 'sqlalchemy.exc.ProgrammingError'>, ProgrammingError('(psycopg2.ProgrammingError) column "created_at" is of type date but expression is of type double precision\nLINE 1: ...at, 0.0, \'NaN\'::float, 9410, 921, 111, \'NaN\'::flo...\n
我试图用空字符串填充那些单元格,零作为整数或字符串,但我每次都收到错误。
df['created_at'].fillna()
我应该如何解析这些值?
谢谢。
答案 0 :(得分:0)
Excel将日期存储为数值。您需要将它们转换为日期时间值,请参阅How do I read a date in Excel format in Python?以获得良好的讨论和解决方案。