If a string starts with \x (e.g., '\xea \xe1\xeb\xe8\xe6\xed\xe5\xec\xf3' for cyrillic) decode it using 'string_escape' :
string=string.decode('string_escape')
This blog contains data I found useful for my current research. My current research: http://philippovich.ru/Projects/ASIS/index.htm (it's in russian only, sorry) Here is almost the same in english: http://w3.usf.edu/FreeAssociation/
import csv
import pyodbc
MDB = 'c:/path/to/my.mdb'
DRV = '{Microsoft Access Driver (*.mdb)}'
PWD = 'mypassword'
conn = pyodbc.connect('DRIVER=%s;DBQ=%s;PWD=%s' % (DRV,MDB,PWD))
curs = conn.cursor()
SQL = 'SELECT * FROM mytable;' # insert your query here
curs.execute(SQL)
rows = curs.fetchall()
curs.close()
conn.close()
# you could change the 'w' to 'a' for subsequent queries
csv_writer = csv.writer(open('mytable.csv', 'w'), lineterminator='\n')
for row in rows:
csv_writer.writerow(row)