引言CSV(逗号分隔值)和DBF(数据表交换格式)是两种常见的数据交换格式。CSV格式简单,易于读写,但功能有限;而DBF格式更适用于数据库应用,功能更为丰富。在数据处理过程中,有时需要将CSV数据转...
CSV(逗号分隔值)和DBF(数据表交换格式)是两种常见的数据交换格式。CSV格式简单,易于读写,但功能有限;而DBF格式更适用于数据库应用,功能更为丰富。在数据处理过程中,有时需要将CSV数据转换为DBF格式。本文将介绍如何使用Python一键实现CSV到DBF的高效转换。
在开始转换之前,请确保以下准备工作已完成:
pandas库:pip install pandaspyodbc库:pip install pyodbcpip install dbfread以下是一个Python脚本,用于将CSV文件转换为DBF格式:
import pandas as pd
import dbfread
import dbfwrite
import pyodbc
# 读取CSV文件
csv_file = 'input.csv'
df = pd.read_csv(csv_file)
# 创建DBF文件
dbf_file = 'output.dbf'
with dbfread.DBF(dbf_file, 'w') as dbf: for record in df.itertuples(index=False, name=None): dbf.write(record)
# 将DBF文件转换为CSV文件
output_csv = 'output.csv'
with open(dbf_file, 'rb') as dbf: with open(output_csv, 'w', newline='') as csv: csv_writer = csv.writer(csv) for record in dbf: csv_writer.writerow(record)
# 使用pyodbc连接数据库
conn = pyodbc.connect('DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=output.dbf;', autocommit=True)
cursor = conn.cursor()
cursor.execute('SELECT * FROM output')
# 输出结果
for row in cursor.fetchall(): print(row)pandas库读取CSV文件。dbfread和dbfwrite库将CSV数据写入DBF文件。pyodbc库连接数据库,并将DBF文件中的数据导入数据库。使用Python一键实现CSV到DBF格式的高效转换,可以大大提高数据处理效率。本文介绍的脚本简单易用,适用于各种场景。在实际应用中,可以根据需要调整代码,以满足不同的需求。