【发布时间】:2014-11-27 12:48:10
【问题描述】:
我正在尝试连接到数据库并获取数据。
但是当我尝试写入文件时,它给了我以下错误。
TypeError: must be string or read-only character buffer, not list
下面是我的示例代码。
import pyodbc
path= "M:/xyz/"
file_write=open( path +"files.test.log", "w")
#print "Connection started"
db=pyodbc.connect('DSN=DB_NAME;PWD=xyz')
#print "Connection done"
cursor = db.cursor()
book_value="WPZ.N"
query="SELECT book_id FROM Table_name WHERE book_value='"+book_value+"'"
#print query
cursor.execute(query)
book_id= cursor.fetchall()
file_write.write(book_id)
#str(file_write)
#print file_write
请指导。
谢谢。
【问题讨论】:
-
不清楚哪一行会产生错误,但我认为
file_write.write(book_id)需要一个字符串,但你给它一个数据库行列表。而是循环遍历book_id的所有行。 -
试试
type(book_id)。看看它打印了什么?