gis中dbf转为csv_Python中.dbf到.csv的批量转换
您擁有的原始文件將保留為dbf。實(shí)際上并不是要替換它,而是創(chuàng)建一個(gè)新的csv文件。我認(rèn)為問題在于,寫入磁盤的操作永遠(yuǎn)不會(huì)發(fā)生。我懷疑csv編寫器沒有刷新文件緩沖區(qū)。
我看到的另一個(gè)問題是out-csv是有條件創(chuàng)建的,因此如果在該目錄中有其他擴(kuò)展名不同的文件,則會(huì)遇到問題。
嘗試使用上下文管理器:for dirpath, dirnames, filenames in os.walk(path):
for filename in filenames:
if filename.endswith('.DBF'):
csv_fn = filename[:-4]+ ".csv"
with open(csv_fn,'wb') as csvfile:
in_db = dbf.Dbf(os.path.join(dirpath, 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()
“with”語(yǔ)句(上下文管理器)將關(guān)閉文件并在結(jié)尾刷新緩沖區(qū),而無需顯式執(zhí)行此操作。
總結(jié)
以上是生活随笔為你收集整理的gis中dbf转为csv_Python中.dbf到.csv的批量转换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: doc es 中type_Elastic
- 下一篇: python 系统进程_在Python中