我有一个文件夹,内含多个dbf文件,现在要合成一个excel。
前提:安装os、pandas、dbfread、openpyxl包
import os
import pandas as pd
from dbfread import DBF
# 指定包含dbf文件的文件夹路径
folder_path = r"J:\sta"
# 初始化一个空的DataFrame来存储所有数据
all_data = pd.DataFrame()
# 遍历文件夹中的所有dbf文件
for file in os.listdir(folder_path):
if file.endswith(".dbf"):
# 读取dbf文件到Pandas DataFrame
dbf_file = os.path.join(folder_path, file)
table = DBF(dbf_file, load=True, encoding='gbk')
df = pd.DataFrame(list(table))
# 将当前dbf文件的数据添加到all_data中
all_data = all_data.append(df, ignore_index=True)
# 将合并后的DataFrame保存为Excel文件
output_excel = r"J:\sta\merged_data.xlsx"
all_data.to_excel(output_excel, index=False)
print("Merged data saved to Excel:", output_excel)
说明:我的dbf文件名中有年份,所以生成的excel也是按照年份排序的。虽然没有显示,但是我可以直接添加年份序列,结果一一对应。没有按顺序的需要找找排序。