gpt4 book ai didi

python - 值错误 :could not convert string to float: b'*********'

转载 作者:行者123 更新时间:2023-12-04 12:23:15 24 4
gpt4 key购买 nike

我正在运行以下 python 代码:直到今天它一直运行良好

import pandas as pd
import dbfread

data = dbfread.DBF(data.DBF, load = True)
df = pd.DataFrame(data)

我收到以下错误消息:不知道出了什么问题?
    ValueError                                Traceback (most recent call last)
~\Anaconda3\lib\site-packages\dbfread\field_parser.py in parseN(self, field, data)
157 try:
--> 158 return int(data)
159 except ValueError:

ValueError: invalid literal for int() with base 10: b'*********'

During handling of the above exception, another exception occurred:

ValueError Traceback (most recent call last)
<ipython-input-9-d243d1e0719c> in <module>
----> 1 data = dbfread.DBF('LNMSTR.DBF', load = True)
2 df = pd.DataFrame(data)

~\Anaconda3\lib\site-packages\dbfread\dbf.py in __init__(self, filename, encoding, ignorecase, lowernames, parserclass, recfactory, load, raw, ignore_missing_memofile)
131
132 if load:
--> 133 self.load()
134
135 @property

~\Anaconda3\lib\site-packages\dbfread\dbf.py in load(self)
166 """
167 if not self.loaded:
--> 168 self._records = list(self._iter_records(b' '))
169 self._deleted = list(self._iter_records(b'*'))
170

~\Anaconda3\lib\site-packages\dbfread\dbf.py in _iter_records(self, record_type)
306 for field in self.fields]
307 else:
--> 308 items = [(field.name,
309 parse(field, read(field.length))) \
310 for field in self.fields]

~\Anaconda3\lib\site-packages\dbfread\dbf.py in <listcomp>(.0)
307 else:
308 items = [(field.name,
--> 309 parse(field, read(field.length))) \
310 for field in self.fields]
311

~\Anaconda3\lib\site-packages\dbfread\field_parser.py in parse(self, field, data)
73 raise ValueError('Unknown field type: {!r}'.format(field.type))
74 else:
---> 75 return func(field, data)
76
77 def parse0(self, field, data):

~\Anaconda3\lib\site-packages\dbfread\field_parser.py in parseN(self, field, data)
162 else:
163 # Account for , in numeric fields
--> 164 return float(data.replace(b',', b'.'))
165
166 def parseO(self, field, data):

ValueError: could not convert string to float: b'*********'
如果有人能帮助我理解并解决这个问题,我将不胜感激。是我的 DBF 数据库的问题还是我的代码的问题?
更新:我可以在家里的电脑上运行相同的代码而不会出错。但它无法通过工作的计算机。你认为它可能是与数据库本身无关的其他东西吗?有点奇怪。

最佳答案

退房 How do I convert a .dbf file into a Pandas DataFrame?用于转换函数 dbf Pandas 表 DataFrame s。
为了回答您的问题,为该记录的该列存储的字节是一堆星号( * ),显然不是数字。某些程序(如 FoxPro)在无法存储实际值时将存储星号。
我的 dbf library将返回 None在那种情况下。

关于python - 值错误 :could not convert string to float: b'*********',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65483260/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com