操作Excelは、他の人が書いたコードを使用して、サードパーティのライブラリを使用します
これは、使用して行われopenpyxlバージョン2010年以降の操作をXLSXのフォーマット。
xlrd、xlwt:いくつかの2003年のクラシック版のみのような他のライブラリを使用し、使用できません。
私たちがサポートすることができTablibが、その比較的大きな依存性、使用のコピー、興味のあるパートナーがBaiduの小さなを所有することができます
まず、openpyxlをインストール
ピップopenpyxlインストール
第二に、輸入openpyxl
輸入openpyxl
1は、Excelファイル、ブックを取得開く(ファイルの内容を、下のスクリーンショットを参照)
#必須、パスまたはファイルオブジェクトは、文書に記入することができますがあります (WB = openpyxl.load_workbookを' :\ datas.xlsx D ' ) を印刷(WB)
図2に示すように、フォームを得るために、(Excelファイルの形式であるかもしれません)
#すべての形態の取得 シート= wb.worksheetsは、 印刷(シート)
#インデックス紙によって取得された、0からインデックス開始 シート= wb.worksheets [0]
印刷(シート)
#取得フォーム名フォームによる。問題があり、その後、ヒント指摘することはできませんシートを使用する シート= wb.get_sheet_by_name(「シート1 」) を印刷(シート)
#単純な形態の辞書のバージョン。上記の問題およびAS シートWB = [ 「シート1 」] 印刷(シート)
図3に示すように、セルデータを取得します
1、細胞を得ます。
取得したデータは、一般的な文字列または数値です。
#特定のセルの値を取得します。()第一の伝送線路の行のセルの数、第2の列パス、の列数 #1 セル、1から始まるインデックスとPythonの区別する 細胞をsheet.cell =(1、1 )。値の 印刷(セル) #URL
図2に示すように、ライン/一つのセルを取得します。
通常、データストレージ、リスト、辞書、タプルの複数の行と、複数のデータを取得します。
#1行のデータを取得 =細胞シートを[1 ] プリント(セル) #1 オブジェクトは、標的を含む細胞が括弧でタプル、取得された尖った # 出力データ(<セル「Sheet1'.A1>、<セル」シート1を'.B1>、<セル' Sheet1'.C1>) #のデータ取得 細胞シート= [ ' A ' ] プリント(セル)
図3に示すように、セルの行/複数列を得ます。
得られたデータは、一般に、ネストされたリストのようなネストされたデータであります
#取得すべての行、最も簡単な方法は 、データ= sheet.rows DATA_LIST =リスト(データ)[1:] #最初のデータを除く、最初のタイトル
#すべてのデータ取得 DATA_LIST =リスト(sheet.rows)を[1:] #最初のデータを除く、最初のタイトル NEW_DATA = [] #データ#格納新しいリスト のための行の中DATA_LIST: #保存されたデータの各行サイクルごとに一度空 ROW_DATA = [] #アウト順次抽出されたデータ列の内部 のための細胞内の列: #1 ROW_DATAリストに追加値 row_data.append(Cell.Value) #何サイクル毎にデータがNEW_DATAに付加されていない NEW_DATA。 APPEND(ROW_DATA) 印刷(NEW_DATA)
4、書き込み、あなたはオフにしたいファイルを使用した後、仕上げを必ず保存してください(コードを書く前に使用することには、それ以外の場合はエラーになり、ファイルを閉じるために実行する必要があります)
#ライト sheet.cell(2、1).Valueの= ' 12306 '
#パスを提供するために、保存するには、保存、名前を付けて保存の前にいないパス wb.save(R ' D:\ datas.xlsx ' )
#近い wb.close ()