python-2.7 - 如何使用 python 脚本将 Mysql Table 数据导出到 excel 文件?

标签 python-2.7

我一直在尝试使用 python 2.7.8 将该数据从表中导出到 excel 文件,但我没有成功。请帮我。我的要求是从表中导出数据并将其存储在本地(Windows C 驱动器)。

#!/usr/bin/python
import smtplib
import base64
import os
import sys
import xlswriter
import xlwt
import datetime
import MySQLdb
from pyh import *
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
db = MySQLdb.connect("192.168.1.118","stp","stp","STP")
cursor = db.cursor()
query = ("""select * from stp_automation_output""")
cursor.execute(query)
myresults = cursor.fetchall()
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet("My Sheet")
#date_format = workbook.add_format({'num_format': 'd mmmm yyyy'})
bold = workbook.add_format({'bold': 1})
worksheet.write('A1','Sno',bold)
worksheet.write('B1','function_name',bold)
worksheet.write('C1','input1',bold)
worksheet.write('D1','input2',bold)
worksheet.write('E1','input3',bold)
worksheet.write('F1','Expected_output',bold)
worksheet.write('G1','Actual_output',bold)
worksheet.write('H1','Result',bold)
row = 1
col = 0
for Sno,function_name,input1,input2,input3,Expected_output,Actual_output,Result in (myresults):
  Sno = row[0]
  function_name = row[1]
  input1 = row[2]
  input2 = row[3]
  input3 = row[4]
  Expected_output = row[5]
  Actual_output = row[6]
  Result = row[7]
workbook.save()

最佳答案

这可能是您可以更轻松地使用 Python 的情况下完成的事情,但这里有一个骨架结构。请注意,这会写入 .csv,而不是 Excel 文件。您可以使用 xlwt 库来完成后者。

请注意,您需要先pip install MySQL-python,这通常很容易,但 occasionally not painless .

import MySQLdb
import csv

user = '' # your username
passwd = '' # your password
host = '' # your host
db = '' # database where your table is stored
table = '' # table you want to save

con = MySQLdb.connect(user=user, passwd=passwd, host=host, db=db)
cursor = con.cursor()

query = "SELECT * FROM %s;" % table
cursor.execute(query)

with open('outfile','w') as f:
    writer = csv.writer(f)
    for row in cursor.fetchall():
        writer.writerow(row)

EDIT — 这应该将它写入 Excel,但我对 xlwt 不是很熟悉,我还没有测试过这段代码。

import MySQLdb
from xlsxwriter.workbook import Workbook

user = '' # your username
passwd = '' # your password
host = '' # your host
db = '' # database where your table is stored
table = '' # table you want to save

con = MySQLdb.connect(user=user, passwd=passwd, host=host, db=db)
cursor = con.cursor()

query = "SELECT * FROM %s;" % table
cursor.execute(query)

workbook = Workbook('outfile.xlsx')
sheet = workbook.add_worksheet()
for r, row in enumerate(cursor.fetchall()):
    for c, col in enumerate(row):
        sheet.write(r, c, col)

关于python-2.7 - 如何使用 python 脚本将 Mysql Table 数据导出到 excel 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28854105/

相关文章:

python - 如何强制 Python 的 "import"将名称视为模块而不是函数?

Python 和 MySQLdb - 数据未插入,数据转换也错误

python - pygame Mixer 将音频保存到磁盘?

javascript - 如何解析网页中的JavaScript?

python - 无法启动 kazoo 客户端。失败并显示 'An operation was attempted on something that is not a socket'

python - 将字符串 'abcde' 拆分为具有单独元素的列表

python - difflib.HTMLDiff.make_file() 的输出未在浏览器中呈现

python pptx改变整个表格的字体大小

python - 将 celery 与 Flask 应用程序上下文一起使用会产生 "Popped wrong app context."AssertionError

python - py2exe 与 scipy.sparse.sparsetools.csr