我一直在尝试使用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()
Run Code Online (Sandbox Code Playgroud)
这可能是你可以在不使用Python的情况下更容易做到的事情,但这是一个骨架结构.请注意,这写入.csv,而不是Excel文件.您可以使用该xlwt库来完成后者.
请注意,您pip install MySQL-python首先需要通常无痛,但有时不会无痛.
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)
Run Code Online (Sandbox Code Playgroud)
编辑 - 这应该写入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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20597 次 |
| 最近记录: |