簡體   English   中英

Python dbf:如何更新值?

[英]Python dbf: How to update a value?

所以我正在使用 python 的 dbf 模塊( https://pypi.org/project/dbf/ ),我想更新表中的鍵值對。 我有以下鍵和值:

>>> for record in dbf.Process(table):
...     print record
...
  0 - store     : 590
  1 - date      : u'12/17/19'
  2 - check_num : 4
  3 - seq_main  : 1
  4 - option    : u'FALSE'
  5 - item_num  : 263

我想將“日期”字段更新為 datetime.date(2019, 12, 17)。 但是,當我執行以下操作時:

>>> for record in dbf.Process(table):
...     record.date = datetime.date(2019, 12, 17)
...

我得到錯誤:

File "/Users/me/Library/Python/2.7/lib/python/site-packages/dbf/__init__.py", line 3946, in update_character
    raise ValueError("unable to coerce %r(%r) to string" % (type(string), string))
ValueError: unable to coerce <type 'datetime.date'>(datetime.date(2019, 12, 17)) to string

有誰知道如何將字符串日期轉換為日期時間 object? 任何幫助表示贊賞。

該字段實際上是一個字符字段——它恰好在其中存儲了日期信息。 您必須自己將日期轉換為文本,然后保存:

>>> for record in dbf.Process(table):
...     record.date = datetime.date(2019, 12, 17).strftime('%m/%d/%y')
...

如果您的date字段為 10 個字符或更多字符,請將%y更改為%Y以獲得完整的 4 位數年份。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM