我尝试研究答案,但未能找到一个好的解决方案。我有一些奇怪的扩展名.res文件。我被告知他们是MS Access文件。不确定它们是否与.mdb相同,但我能够在MS Access中打开它们。如何打开这些文件,提取必要的数据,对数据进行排序并生成.csv文件?我尝试在Linux上使用此脚本:http://mazamascience.com/WorkingWithData/?p=168和mdb工具。我在终端输出了一些错误,但生成的所有文件都是空白的。这可能是由于编码。我不确定。我认为该文件采用ASCII编码。
Error: Table fo_Table
Smart_Battery_Data_Table
MCell_Aci_Data_Table
Aux_Global_Data_Table
Smart_Battery_Clock_Stretch_Table
does not exist in this database.
在Windows上我不知道该怎么做。我现在的第一步是将该数据库文件中的必要表转储到.csv中。但理想情况下,我需要脚本来获取文件,对其进行排序,提取必要的数据,进行一些计算(如一列中的数据除以另一列中的数据)并将所有内容保存到漂亮的.csv中。 非常感谢。我不是一个经验丰富的程序员,所以请怜悯。
答案 0 :(得分:1)
使用通用pyodbc库应该这样做。看起来它已经嵌入了MS访问驱动程序。 This question可能会帮助你。
我没有任何MS Access数据库文件(我已经很久没有使用它了),但是在the examples后你的代码应该是这样的:
import pyodbc
db_file = r'''/path/to/the/file.res'''
user = 'admin'
password = 'password'
odbc_conn_str = 'DRIVER={Microsoft Access Driver (*.mdb)};DBQ=%s;UID=%s;PWD=%s' % (db_file, user, password)
conn = pyodbc.connect(odbc_conn_str)
cursor = conn.cursor()
cursor.execute("select * from table order by some_column")
for row in cursor.fetchall():
print ", ".join((row.column1, row.column2, row.columnN))