我使用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'
答案 0 :(得分:3)
尝试在整个表名周围使用括号。它吠叫是因为它不知道如何处理这个空间。
cursor.execute("select * from [Perm_Site Info];")