2

我尝试研究答案,但找不到好的解决方案。我有带有奇怪扩展名.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 中。非常感谢。我不是一个经验丰富的程序员,所以请怜悯。

4

1 回答 1

1

使用通用 pyodbc 库应该可以做到。看起来它已经有一个嵌入式 MS 访问驱动程序。这个问题可能会帮助你。

我没有任何 MS Access 数据库文件(我不必使用它们已经很长时间了),但是按照示例,您的代码应该是这样的:

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))
于 2013-06-12T03:08:49.060 回答