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

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

python有没有write_data_to_txt这个函数?

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()
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-03-06

应该没有,但你可以:

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就是了

追问

不行啊,sql取出来的data是元组啊。。。((,,,),(,,,),(,,,)),这样不能直接往里写吧。。。

File "test.py", line 26, in test
r.write(data)
TypeError: must be string or buffer, not tuple

追答

那你把sql取出来的内容转换哈撒,
好像元组有个方法是直接转为字串的,tuples()

本回答被提问者和网友采纳
第2个回答  2014-03-06
如果用的是mysql的话,OUTFILE就是把结果输出到文件的追问

sql = 'SELECT * INTO OUTFILE "xxx.txt" FIELDS TERMINATED BY "\t" FROM table LIMIT 3;'
cursor.execute(sql)

为啥不行呢

一些你不知道的Python Tips
此外,`print`函数还支持`file`参数,允许直接将输出内容写入文件。同时,`flush`参数允许控制流的刷新频率,这对于实时输出或需要控制输出速度的场景特别有用。Python还隐藏了两个模块:`__hello__`和`__phello__`。这些模块主要用于CPython的测试,由`freeze`工具生成,主要用于测试CPython,没有实际...

怎么把sql查询结果插入python数组
dbname) with con: cur = con.cursor(mdb.cursors.DictCursor) # 执行查询 cur.execute("select * from table limit 100;") # 将查询结果存入变量rows rows = cur.fetchall() # 将rows转化为数组 rows = np.array(rows)finally: if con: con.close() # ...

收藏!Python内置的轻量级数据库竟如此好用!全网最实用sqlite3实战项目...
数据库创建与连接:利用 sqlite3.connect() 创建数据库,如果数据库文件不存在则自动创建。创建表:执行 SQL 语句创建表 numbers,包含两个字段:id 和 number。插入数据:优化文件打开方式,使用 with 语句提高效率,同时使用占位符功能自动插入数据。2. 数据库操作2.1 连接数据库通过指定数据库文件路径...

python中怎么讲sql的where语句查询结果录入到列表中
>>> print ' and '.join([base % dict(k=k, v=v) for k,v in dict(name='tim', email='tim@126.com').items()])("email" = 'tim@126.com') and ("name" = 'tim')>>> 另外: 强烈建议不采用拼接字符串的方式定义SQL,而是采用参数 ...

利用SQL将查询到的string值分离,以及python实现导出csv文件方法
此外,我们还发现了一种利用MySQL内置函数实现字符串分离的简便方法。通过MySQL的GROUP_CONCAT函数,可以将多行内容合并为一行,进而实现字符串分离的目的。这种方法在不引入额外存储空间的情况下,直接在现有表中执行操作,降低了数据处理的复杂度。总之,无论是通过自定义函数、CSV文件导出与Python脚本处理,...

python从mysql数据库提取出来的数据怎么在html里显示
方法一:使用Flask等框架 将查询结果赋值给users 使用params=Locals()传递给HTML页面,在页面中,使用循环,接收数据:{% for u in params.users %} {{u.id}} {{u.name}} {{u.sfzh}} {{u.age}} {{u.gender}} {% endfor %} === 方法二:直接使用pymysql 执行SQL语句 将查询结果...

python读取excel的指定内容转换成配置命令写入txt文档
"a") # 文件读写方式是追加table = data.sheets()[0] # 表头nrows = table.nrows # 行数ncols = table.ncols # 列数colnames = table.row_values(0) # 某一行数据# 打印出行数列数print(nrows)print(ncols)print(colnames)for ronum in range(1, nrows): row = table....

在Python中使用pandas进行文件读取和写入方法详解
Excel 文件操作中,to_excel() 方法可指定工作表名称和起始单元格位置,灵活控制数据布局。SQL 数据库交互,使用 Pandas 与 SQLAlchemy 库结合,实现数据读写,支持 SQLite 等数据库。Pickle 文件用于保存 Python 对象,.to_pickle() 和 read_pickle() 方法实现序列化与反序列化。处理大文件时,Pandas...

Python如何解析SQL语句并转换为Python对象,SQLParse类库的使用
使用`sqlparse.parse()`方法解析字符串,得到Python对象。通过打印此对象,可直观看到解析结果。接着,使用`str(parsed)`将Python对象转换回SQL查询语句字符串,并再次打印以验证一致性。随后,遍历解析对象中的标记,打印出每个标记的类型和值。最后,定位WHERE子句,并打印其中的标记。本文通过一系列步骤,...

python 使用pyodbc 连接到sql server 2008 查询的结果中文显示为'\\x...
这个是gbk编码,你写到文件或者用decode encode转换成utf-8之类的就可以看到,属于基础计算机。

相似回答