在地理信息系统(GIS)和数据分析领域,DBF文件因其简洁且易于处理的特点而被广泛使用。然而,随着数据量的增长和复杂性的增加,将多个DBF文件中的数据整合到一个统一的格式中变得尤为重要。本篇文章将介绍一种使用Python脚本高效处理多个DBF文件的方法,并将提取的数据汇总到一个Excel文件中。
完整代码#运行环境 Python 3.11
import os #用于处理文件和目录路径
import openpyxl #用于处理Excel文件
from dbfread import DBF #用于读取DBF文件
dbf_folder_path = r'E:\Departure' #设置DBF文件的文件夹路径
column_names = ["NAME1","NAME2","NAME3"] #指定列,这里输入你需要提取的列名称
workbook = openpyxl.Workbook() #使用 os.listdir() 列出文件夹中的所有文件
worksheet = workbook.active #使用列表推导式和 os.path.join() 构建一个包含所有DBF文件路径的列表
worksheet.append(column_names + ["DBF File"]) #column_names 是一个包含要从DBF文件中提取的列名的列表
count = 0 #计数器初始化
total_count = len(dbf_file_paths)
for dbf_file_path in dbf_file_paths:
count += 1
print(f"正在处理 {dbf_file_path} ({count}/{total_count})")
dbf = DBF(dbf_file_path)
for record in dbf:
column_values = [record.get(column_name) for column_name in column_names]
if None not in column_values:
worksheet.append(column_values + [dbf_file_path])
'''
使用一个计数器 count 来追踪当前处理的文件数。
对于每个DBF文件,使用 DBF() 函数打开它,并使用一个循环遍历每个记录。
对于每个记录,提取指定列的值,并检查这些值是否不为None。如果都不为None,则将这些值和DBF文件的路径追加到工作表中
'''
output_file_path = r'E:\Rdbf.xlsx' #设置输出文件的路径 output_file_path
workbook.save(output_file_path) #使用 workbook.save() 将工作簿保存到指定的输出路径
print("完成")
文章仅用于分享个人学习成果与个人存档之用,分享知识,如有侵权,请联系作者进行删除。所有信息均基于作者的个人理解和经验,不代表任何官方立场或权威解读。