Python 3.4バージョンExcelテーブルの操作

3913 ワード

JAVAでは、POIを使用してExcelファイルを操作できることを知っています.POIのAPIにはHSSFWorkbookが03版のexcelの読み書きをサポートしています.XSSFWORkbookは07以降のexcelファイルの読み書きに対応しています.python 3.x(散仙が使用しているバージョンはpython 3.4)では、excelをどのように操作すればいいかを知っています.まずpython 3.4では、新しいpythonクラスライブラリを使用して、3.x以降の読み書きexcelをサポートします.03版excel(xls末尾)に対して、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