最近、グループ内の何人かが xlwt と wlrd について質問しているのを見かけました。何と表現すればよいでしょうか? Office 2007 がリリースされたばかりで、誰もが xlsx ファイルの使用に慣れていない場合、それは理解できます。10 年が経ち、Office 2016 に進化していなくても、まだ Office 2003 を使用しています。意味がわかりません。誰かがxlsxを使用してxlsとして保存できますか? —— 意図的に追加の手順をいくつか実行しますが、その目的は何ですか?互換性のため?古代のoffice2003と互換性がありますか?また、Excel の操作には Python を使用しているため、ファイルを手動で保存する必要があります。これはおかしな考えですか?
したがって、xls をあきらめて xlsx に変換する必要があると私はまだ考えています。この記事が書かれている理由は、xlwt と wlrd は xls ファイルの読み取りと書き込みのみが可能であり、xlsx ファイルの操作はできないということです。
解決策: openpyxl。これは数分で使用できる非常にシンプルなライブラリです。インストールは非常に簡単で、pip install openpyxl のワンステップで完了します 主にexcelの操作についてお話します。もちろん、上記のすべてのナンセンスを考慮すると、学生はおそらく、openpyxl は xlsx ファイルのみを操作でき、xls ファイルは操作できないと推測できます。
1. 基本概念
openpyxl では、ワークブック、シート、セルという 3 つの概念が主に使用されます。ワークブックは Excel ワークシート、シートはワークシート内の表ページ、セルは単純なセルです。 openpyxl はこれら 3 つの概念を中心に展開しており、読み書きに関係なく、ワークブックを開く、シートを見つける、セルを操作するという「3 つのこと」が重要です。以下に、読み取りと書き込みのそれぞれの一般的な方法をいくつか紹介します。
2. xlsx
を読む 実験を行うために、Sheet1、Sheet2、Sheet3 の 3 ページからなる Excel ドキュメントを事前に準備しました。次の内容が入力されます。
最初に
from openpyxl import load_workbook
を使用してライブラリを導入します。
wb = load_workbook("template.xlsx")
を開きます。 xlsx ファイル
print(wb.sheetnames) # ['Sheet1', 'Sheet2', 'Sheet3']
開いている Excel にどのシート ページがあるかを確認できます
sheet = wb.get_sheet_by_name("Sheet3")
指定されたシート ページを読み取ると、シートが魔法のようになり、必要な内容が表示されます。すべてここにあります。例:
print(sheet["C"]) # (<Cell Sheet3.C1>, <Cell Sheet3.C2>, <Cell Sheet3.C3>, <Cell Sheet3.C4>, <Cell Sheet3.C5>, <Cell Sheet3.C6>, <Cell Sheet3.C7>, <Cell Sheet3.C8>, <Cell Sheet3.C9>, <Cell Sheet3.C10>) <-第C列 print(sheet["4"]) # (<Cell Sheet3.A4>, <Cell Sheet3.B4>, <Cell Sheet3.C4>, <Cell Sheet3.D4>, <Cell Sheet3.E4>) <-第4行 print(sheet["C4"].value) # c4 <-第C4格的值 print(sheet.max_row) # 10 <-最大行数 print(sheet.max_column) # 5 <-最大列数 for i in sheet["C"]: print(i.value, end=" ") # c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 <-C列中的所有值
xlsxx
最初に
from openpyxl import Workbook wb = Workbook()
を使用してワークシートを作成し、次に
sheet = wb.active
アクティブなシートを見つけます。空の Excel シートのデフォルトのシート ページは Sheet と呼ばれますが、名前を変更したい場合は、title 属性に直接値を割り当てることができます。
sheet.title = "New Shit"
この属性は読み取りおよび書き込み可能です。もちろん、これは現在アクティブなページにのみ適用されます。他のページについては、create_sheet とremove_sheet を使用して追加および削除できます。
sheet['C3'] = 'Hello world!' for i in range(10): sheet["A%d" % (i+1)].value = i + 1
上で読んだのと同じように、シート ページにコンテンツを書き込むのは比較的簡単です。
sheet["E1"].value = "=SUM(A:A)"
数式を記述するなどの高度な操作も実行できます:
wb.save('保存一个新的excel.xlsx')
最後に、
以上がPythonでExcelを開く方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。