gis中dbf转为csv_Python中.dbf到.csv的批量转换
您擁有的原始文件將保留為dbf。實際上并不是要替換它,而是創建一個新的csv文件。我認為問題在于,寫入磁盤的操作永遠不會發生。我懷疑csv編寫器沒有刷新文件緩沖區。
我看到的另一個問題是out-csv是有條件創建的,因此如果在該目錄中有其他擴展名不同的文件,則會遇到問題。
嘗試使用上下文管理器: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”語句(上下文管理器)將關閉文件并在結尾刷新緩沖區,而無需顯式執行此操作。
總結
以上是生活随笔為你收集整理的gis中dbf转为csv_Python中.dbf到.csv的批量转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: doc es 中type_Elastic
- 下一篇: 360oauth token是什么意思_