2017-08-28 2 views
1

DBFファイルに列を追加しましたが、このエラーが表示されました。どうすれば修正できますか?フィールドdbfファイルのエラーを追加します。

import dbf 

db = dbf.Table('crop2-fx.dbf') 
with db: 
    db.add_fields('tipoclasse C(10)') 
 
C:\Users\PC\Anaconda2\python.exe" "C:/Users/Secretaria-OBT/Desktop/Estágio Python/23/dbf/addField.py" 

Traceback (most recent call last): 

    File "C:/Users/PC/Desktop/Python/23/dbf/addField.py", line 5, in 
    db.add_fields('tipoclasse C(10)') 

    File "C:\Users\PC\Anaconda2\lib\site-packages\dbf\ver_2.py", line 5015, in add_fields 
    old_table = self.create_backup() 

    File "C:\Users\PC\Anaconda2\lib\site-packages\dbf\ver_2.py", line 5240, in create_backup 
    bkup = Table(new_name, self.structure(), codepage=self.codepage.name, dbf_type=self._versionabbr, on_disk=on_disk) 

    File "C:\Users\PC\Anaconda2\lib\site-packages\dbf\ver_2.py", line 4784, in __init__ 
    self.add_fields(field_specs) 

    File "C:\Users\PC\Anaconda2\lib\site-packages\dbf\ver_2.py", line 5059, in add_fields 
    raise FieldSpecError(exc.message + ' (%s:%s)' % (meta.filename, name)) 

dbf.ver_2.FieldSpecError: Numeric fields must be between 1 and 19 digits, not 24 (C:\Users\SECRET~1\AppData\Local\Temp\crop2-fx_backup.dbf:ampl_b0) 

Process finished with exit code 1 

答えて

0

問題は、既存の数値項目の一つである(19桁が最大である)dbf currenntlyハンドルよりも大きくなっています。私はこの時点で唯一の道は、dbfを使用する前に数値フィールドを減らすことだと確信しています。

+0

数値フィールドをどのように減らすことができますか? 24〜19? –

+0

これは、dbfファイルを作成したプログラムで行う必要があります。 –

関連する問題