access表格批量合并代码
时间: 2023-10-11 17:08:48 浏览: 172
以下是使用Python中的pandas库进行批量合并Access表格的示例代码:
```python
import pandas as pd
import glob
# 获取所有Access表格文件的文件路径
file_paths = glob.glob("*.accdb")
# 创建一个空的DataFrame,用于存储合并后的数据
merged_data = pd.DataFrame()
# 循环遍历每个Access表格文件
for file_path in file_paths:
# 使用pandas读取Access表格数据
data = pd.read_excel(file_path)
# 将当前表格的数据合并到merged_data中
merged_data = pd.concat([merged_data, data])
# 将合并后的数据保存为Excel文件
merged_data.to_excel("merged_data.xlsx", index=False)
```
在上面的示例代码中,我们首先使用glob模块获取当前目录下所有的Access表格文件的文件路径,然后使用pandas库将每个表格文件中的数据读取出来,并将它们合并到一个空的DataFrame中。最后,我们将合并后的数据保存为一个Excel文件。
相关问题
多个access的mdb文件批量合并成一个mdb的代码
以下是基于Python和pyodbc库的示例代码,可以实现将多个Access数据库文件中的表合并到一个新的Access数据库中:
```python
import os
import pyodbc
# 设置连接参数
driver = '{Microsoft Access Driver (*.mdb, *.accdb)}'
db_file = r'C:\path\to\new_database.mdb'
user = ''
password = ''
# 构建连接字符串
conn_str = (
r'DRIVER={driver};'
r'DBQ={db_file};'
r'UID={user};'
r'PWD={password};'
)
# 建立连接
conn = pyodbc.connect(conn_str)
# 获取目录下的所有mdb文件
mdb_files = [f for f in os.listdir('.') if f.endswith('.mdb')]
# 遍历mdb文件
for f in mdb_files:
# 打开数据库连接
mdb_conn = pyodbc.connect(
'DRIVER={Microsoft Access Driver (*.mdb)};DBQ={};'.format(f)
)
# 获取数据库中的所有表名
tables = mdb_conn.cursor().tables()
# 遍历表格
for table in tables:
# 获取表名
table_name = table.table_name
# 复制表格到新的数据库中
mdb_conn.execute('SELECT * INTO [{} IN "{}"] FROM {};'.format(table_name, db_file, table_name))
conn.commit()
# 关闭数据库连接
mdb_conn.close()
# 关闭新数据库连接
conn.close()
```
这段代码会将当前目录下所有以 .mdb 结尾的文件中的表格都复制到一个新的数据库中。如果需要修改目录或文件类型,只需修改相应的参数即可。同时,需要确保新的数据库不存在,否则会发生错误。
阅读全文