1

Python で Excel シートから日付と時刻を読み込んでいます。日付は浮動小数点数として格納されます。たとえば、3/11/2003 4:03:00Excel の date: は として python に読み込まれ37756.2180556ます。Python では、この 10 進数を通常の日付に変換しようとしてxlrd.xldate_as_tupleいますが、エラーが発生します。

def Rule_2(sheet):
x = 2
y = 0
total_rows = sheet.nrows
total_columns = sheet.ncols
while y != total_columns:
    column_name = sheet.cell(0,y).value
    if column_name == "birthday":
        while x != total_rows:
            c_val = sheet.cell(x,y).value
            date = xlrd.xldate_as_tuple(c_val, book.datemode)
            print "row:", x + 1, date
            x += 1
    y += 1

このコードは次のエラーを生成します。

Traceback (most recent call last):
  File "Data Cleaner.py", line 104, in <module>
    Rule_2(sheet)
  File "Data Cleaner.py", line 31, in Rule_2
    date = xlrd.xldate_as_tuple(c_val, book.datemode)
  File "/Library/Python/2.7/site-packages/xlrd/xldate.py", line 61, in xldate_as_tuple
    xldays = int(xldate)
ValueError: invalid literal for int() with base 10: ''

これを修正する方法についてのアイデアはありますか、それとも何か間違っていますか?

助けてくれてありがとう!

4

0 に答える 0