我正在编写python脚本来获取mysql数据库行并复制到excel文件
我正在尝试的代码2.7.6:
from __future__ import print_function
import MySQLdb as mdb
conn = mdb.connect("localhost","username","passwd","db")
table = open("table.csv" , 'w')
with conn:
query = "SELECT NAME FROM mytable WHERE H_ID= 5 ORDER BY NAME;"
cursor = conn.cursor()
cursor.execute(query)
for item in range(cursor.rowcount):
row = cursor.fetchone()
print(row[0],file=table)
如果我在mysql中执行该查询意味着我将获得446行并且在python shell [idle]上打印时也会得到正确的结果,但是当我尝试将输出复制到文件时我能够看到只有341行。可能是什么问题。?
答案 0 :(得分:1)
我不知道究竟是什么问题,但是当我用关键字删除并手动关闭文件时,它已得到解决,
下面的代码工作正常。
from __future__ import print_function
import MySQLdb as mdb
conn = mdb.connect("localhost","username","passwd","db")
table = open("table.csv" , 'w')
query = "SELECT NAME FROM mytable WHERE H_ID= 5 ORDER BY NAME;"
cursor = conn.cursor()
cursor.execute(query)
for item in range(cursor.rowcount):
row = cursor.fetchone()
print(row[0],file=table)
table.close()