DBF文件批量提取字段并合成excel

本文介绍了一个Python脚本,利用openpyxl库读取DBF文件中的特定列,检查非空值后将数据合并到一个新的Excel工作簿中,最后保存输出文件。
摘要由CSDN通过智能技术生成

在地理信息系统(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("完成")

文章仅用于分享个人学习成果与个人存档之用,分享知识,如有侵权,请联系作者进行删除。所有信息均基于作者的个人理解和经验,不代表任何官方立场或权威解读。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

图说交通

买猫粮,楼下的流浪猫在等我

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值