“无法找到SELECT语句的输入表或查询”错误

时间:2016-11-16 18:32:42

标签: python csv ms-access pyodbc

我使用Python将MS Access表保存为CSV文件。 MS Access数据库中有一个名为“Perm_Site Info”的表。 MS Access中的命名空间。当我运行下面的代码片段时,代码会爆炸。我试过在cursor.execute中使用单引号和双引号但没有结果。我请求您的帮助以了解如何解决此问题。

import java.util.*;
import java.io.*;
import java.nio.channels.FileChannel;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

错误:

import pyodbc
import csv

conn_string = ("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\\Access\\permissions.accdb") 

conn = pyodbc.connect(conn_string)

cursor = conn.cursor()

cursor.execute("select * from Perm_Site Info;")

with open('C:\\Desktop\\Python Files\\Perms_Site_Info.csv','wb') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow([i[0] for i in cursor.description])
    writer.writerows(cursor)

cursor.close()
conn.close()

print 'All done for now'

1 个答案:

答案 0 :(得分:3)

尝试在整个表名周围使用括号。它吠叫是因为它不知道如何处理这个空间。

cursor.execute("select * from [Perm_Site Info];")