【发布时间】:2020-03-31 02:45:04
【问题描述】:
我有大量 .dbf 数据(每个大约 1gb),我需要将其转换为 .csv 以便在我的精算工具中使用。我找到了一个适用于 python 2 的代码(我的朋友尝试并设法生成了 dummy.csv)。我必须使用 3.6.9(工作场所使用 3.6.9)但无法使其在该版本中运行。
我是 python 的新手,因此非常感谢任何帮助。非常感谢!
import csv
from dbfpy import dbf
import os
import sys
filename = 'DUMMY.dbf'
if filename.endswith('.dbf'):
print ("Converting %s to csv" % filename)
csv_fn = filename[:-4]+ ".csv"
with open(csv_fn,'wb') as csvfile:
in_db = dbf.Dbf(filename)
out_csv = csv.writer(csvfile)
names = []
for field in in_db.header.fields:
names.append(field.name)
out_csv.writerow(names)
for rec in in_db:
out_csv.writerow(rec.fieldData)
in_db.close()
print ("Done...")
else:
print ("Filename does not end with .dbf")
当然,抱歉,忘记了错误。
Traceback (most recent call last):
File "/opt/anaconda/envs/env_python/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 3326, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-4-11540611f260>", line 2, in <module>
from dbfpy import dbf
File "/opt/anaconda/envs/env_python/lib/python3.6/site-packages/dbfpy/dbf.py", line 280
print repr(_rec)
^
SyntaxError: invalid syntax
【问题讨论】:
-
你能提供错误吗
-
当然!我刚刚添加了它。
-
您似乎无法导入
dbfpy包。 -
好吧,我看到安装了 dbfpy 包。你觉得我说错了吗?
-
我认为是关于
dbfpy包。我会去包装看看有什么问题。你可以试试另一个包,比如 dbfread:pypi.org/project/dbfread>
标签: python csv type-conversion dbf pdb-files