Python 3.4 Excelを読みます

3891 ワード

[転送先:http://qindongliang.iteye.com/blog/2163700」
私達はすべてJAVAの中で、POIを使ってExcelファイルを操作することができます.POIのAPIの中にHSSFWorkbookが03版のexcelの読み書きをサポートしています.XSSFWorkbookは07以降のexcelファイルに対する読み書きです.python 3.xで、excelをどのように操作すればいいですか? 
まずpython 3.4の中で、私達は新しいpython種類の倉庫を使って、3.x後の読み書きエクセルをサポートします.  03版のexcelに対して、私達はxlrdを使って読むことができて、xlwtは包んで書きます.  07版のexcel(xlsxの最後の)に対して、私達はopenpyxlを使って操作してexcelを書いて読みます. 
xlwtのダウンロードアドレスhttps://pypi.python.org/pypi/xlwt3  xlrdのダウンロードアドレスhttps://pypi.python.org/pypi/xlrd3 
openpyx 1のダウンロードアドレスhttps://pypi.python.org/pypi/openpyxl 
拡張されたライブラリをダウンロードした後、直接にカタログを解凍し、コマンドを実行してパッケージシステムのpythonライブラリにインストールします. 
python setup.py install
コアコード:
#  excel  (  03)
import xlrd
#  excel  (  03)
import xlwt3
#  execel  (  07)
from openpyxl import Workbook
#  excel  (  07)
from openpyxl import load_workbook


def showexcel(path):
    workbook=xlrd.open_workbook(path)
    sheets=workbook.sheet_names();
    #  sheet ,         
    #for sname in sheets:
        #print(sname)
    worksheet=workbook.sheet_by_name(sheets[0])
    #nrows=worksheet.nrows
    #nclows=worksheet.ncols
    for i in range(0,worksheet.nrows):
        row=worksheet.row(i)

        for j in range(0,worksheet.ncols):
            print(worksheet.cell_value(i,j),"\t",end="")

        print()



def writeexcel03(path):

    wb=xlwt3.Workbook()
    sheet=wb.add_sheet("xlwt3     ")
    value = [["  ", "hadoop    ", "hbase    ", "lucene    "], ["  ", "52.3", "45", "36"], ["   ", "       ", "       ", "       "], ["    ", " ", " ", " "]]
    for i in range(0,4):
        for j in range(0,len(value[i])):
            sheet.write(i,j,value[i][j])
    wb.save(path)
    print("      !")

def writeexcel07(path):

    wb=Workbook()
    #sheet=wb.add_sheet("xlwt3     ")
    sheet=wb.create_sheet(0,"xlwt3     ")

    value = [["  ", "hadoop    ", "hbase    ", "lucene    "], ["  ", "52.3", "45", "36"], ["   ", "       ", "       ", "       "], ["    ", " ", " ", " "]]
    #for i in range(0,4):
        #for j in range(0,len(value[i])):
            #sheet.write(i,j,value[i][j])

            #sheet.append(value[i])
    sheet.cell(row = 1,column= 2).value="  "
    wb.save(path)
    print("      !")


def read07excel(path):
    wb2=load_workbook(path)
    #print(wb2.get_sheet_names())
    ws=wb2.get_sheet_by_name("   ")
    row=ws.get_highest_row()
    col=ws.get_highest_column()
    print("  : ",ws.get_highest_column())
    print("  : ",ws.get_highest_row())

    for i  in range(0,row):
        for j in range(0,col):
            print(ws.rows[i][j].value,"\t\t",end="")

        print()

    #print(ws.rows[0][0].value)
    #print(ws.rows[1][0].value)
    #print(ws.rows[0][1].value)






#excelpath=r"D://  .xlsx"
#writepath=r"D://    07.xlsx"
#writeexcel03(writepath)
#writeexcel07(writepath)

read07path="D://  .xlsx";


read03path=r"E:\     .xls";
#read07excel(read07path)
#read07excel(read03path)
#showexcel(excelpath);
showexcel(read03path);
最後に、3つの書式の数字と日付を共有し、乱数で3つの豆知識を生成します.
 

#          
pp="{:.1%}".format(0.2356)
print(pp)

#     
import  datetime
s=(2014,12,11,0,0,0)
d="%02d-%02d-%02d" % s[:3]
print(d)

#     
import random
#      
f=random.uniform(1.0,100)
#       
f1=random.randint(1,23)
print(f1)
print(f)
結果は以下の通りです
D:\python\python.exe D:/pythonide/pythonprojectworkspace/tnssolve/f.py
23.6%
2014-12-11
17
84.57222433948785

Process finished with exit code 0