我有大约 300 个包含 .dbf 文件的文件夹,我想将它们转换为 .csv 文件。
我正在使用os.walk
查找所有 .dbf 文件,然后使用 for 循环利用该dbfpy
模块将每个 .dbf 文件转换为 .csv。它似乎正在正确地查找和读取 .dbf 文件,但没有将它们转换为 .csv。我相信 csv.writer 代码是问题所在。我没有收到任何错误,但文件保留为 .dbf。
我下面的代码基于此处找到的代码。
import csv
from dbfpy import dbf
import os
path = r"\Documents\House\DBF"
for dirpath, dirnames, filenames in os.walk(path):
for filename in filenames:
if filename.endswith('.DBF'):
in_db = dbf.Dbf(os.path.join(dirpath, filename))
csv_fn = filename[:-4]+ ".csv"
out_csv = csv.writer(open(csv_fn,'wb'))
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()