2017-08-28 4 views
1

J'ajoutais une colonne au fichier DBF et cette erreur est apparue, comment puis-je le réparer?ajouter le champ erreur de fichier 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 

Répondre

0

Le problème est l'un des champs numériques existants est plus grande que dbf poignées currenntly (19 chiffres est le maximum). Je suis à peu près sûr que la seule façon de passer ce moment est de réduire le champ numérique avant d'utiliser dbf avec.

+0

Comment puis-je réduire le champ numérique? 24 à 19? –

+0

Vous devrez le faire dans le programme qui a créé le fichier dbf. –