在python中打开访问文件

时间:2014-11-06 16:05:32

标签: python ms-access

我无法使用python打开访问文件。我不确定问题是关于mdb文件还是python命令。

In [1]: import sys, subprocess

In [2]: DATABASE = 'Exam_BackUp.mdb'

In [3]: table_names = subprocess.Popen(["mdb-tables", "-1", DATABASE], stdout=subprocess.PIPE).communicate()[0]
Couldn't open database.

我如何知道该文件是否是微软访问文件? 我已经检查过我的Ubuntu服务器上安装了mdbtools。

我需要打开(access或fortran)文件并将内容保存到csv。

2 个答案:

答案 0 :(得分:1)

为什么不尝试使用ODBC驱动程序打开它?

一个很好的例子是here,根据你的情况复制它将是:

import pyodbc

DBfile = 'Exam_BackUp.mdb'
conn = pyodbc.connect('FILEDSN='+DBfile)
cursor = conn.cursor()

# Do whatever you want with SQL selects, etc

cursor.close()
conn.close()

答案 1 :(得分:0)

您可以通过终端使用mdbtool进行如下转换:

安装mdbtools并对其进行升级:

pip install mdbtools
pip install --upgrade pip

然后在mdb文件中查找表的名称:

home/Docs$ mdb-tables 'file.mdb'

最后,使用此行将文件转换为.csv:

home/Docs$ mdb-export 'file.mdb' 'name_of_table' > 'file.csv'