python 有没有把sql结果,直接写入文件的方法

比如:sql='select*fromabc;'cursor.execute(sql)data=cursor.fetchall()write_data_to_txt(da... 比如:
sql = 'select * from abc;'
cursor.execute(sql)
data = cursor.fetchall()
write_data_to_txt(data,'abc.txt')

python有没有write_data_to_txt这个函数?
展开
 我来答
pieryon
2015-08-22 · 知道合伙人数码行家
pieryon
知道合伙人数码行家
采纳数:14411 获赞数:166862
获取软件设计师高级职称 万达金融最佳创新奖

向TA提问 私信TA
展开全部
python把数据库查询结果写入文件的例子如下:
//以只读方式打开nodeset.txt
file_nodeset=open("nodeset.txt","r")
file_relationship=open("follower_followee.txt","a")
t=file_nodeset.readline()
while(''!=t):
cur=conn.cursor()
cur.execute("select * from follower_followee where followee_id=%s",t)
rows=cur.fetchall()//从数据库取出查询结果的一行
for row in rows: //开始循环处理
if (row[0] in nodeSet):
print('haha')
file_relationship.write('%s %s\n' % (row[0],row[1])) //写入文件
cur.close()
t=file_nodeset.readline()
file_nodeset.close()
file_relationship.close()
neosicifore
2014-03-06 · TA获得超过2258个赞
知道小有建树答主
回答量:446
采纳率:66%
帮助的人:491万
展开全部

应该没有,但你可以:

fp = file.open('F:/xxx.txt','wb')
fp.write(data)
fp.close

这样也可以达到你的目的

如果你想每次写入一个新的文件,就这样

filename = str(datetime.now()).replace(" ",'_').replace(":",'_') +
              str(random.randint(0,99))+'.txt'
fp = file.open('F:/'+ filename,'a+')
fp.write(data)
fp.close

每次写入一个新建的txt,名字为当前时间加随机数命名

更多追问追答
追问
不行啊
AttributeError: type object 'file' has no attribute 'open'
追答

sorry,笔误

fp = open('F:/xxx.txt','wb')

没有file.

直接open就是了

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-03-06
展开全部
如果用的是mysql的话,OUTFILE就是把结果输出到文件的
追问
sql = 'SELECT * INTO OUTFILE "xxx.txt" FIELDS TERMINATED BY "\t" FROM table LIMIT 3;'
cursor.execute(sql)

为啥不行呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式