ホームページ  >  記事  >  バックエンド開発  >  Python を使用して Excel xlsx ファイルを操作する方法の概要

Python を使用して Excel xlsx ファイルを操作する方法の概要

高洛峰
高洛峰オリジナル
2017-03-26 10:06:402026ブラウズ

少し前にプロジェクトに取り組んでいたときは、Pythonを使用して Excel ファイルを直接生成する必要がありましたが、その後、ニーズが変化したため、既存の Excel ファイルを読み取る必要がありました。この記事では主に Python による Excel の xlsx ファイルの操作に関する情報を紹介します。必要な方は参考にしてください。

はじめに

以前は、Excel の読み書きを処理するために xlrd/xlwt が使用されていましたが、これら 2 つのライブラリには、xls 形式のみが適切に処理され、末尾が で終わる形式は処理されないという欠点がありました。 xlsx 。誰もが最新バージョンの Office を使用しており、Excel の形式は xlsx であるため、現時点で処理に xlrd/xlwt を使用し続けるのは適切ではありません。幸いなことに、openpyxl を使用して xlsx ファイルを読み書きすることもできます。

私は Excel に詳しくなく、あまり使いません。そのため、Excel の処理は非常に単純で、単純な読み書きだけです。ここでデモするのは、特定の高度な場合の簡単な読み書き操作です。機能については、記事のアドレスの最後にあるリンクを参照してください。

1: 以下のように Excel ファイルを作成します

 from openpyxl import Workbook
 from openpyxl.utils import get_column_letter
 
 # 在内存中创建一个workbook对象,而且会至少创建一个 worksheet
 wb = Workbook()
 
 #获取当前活跃的worksheet,默认就是第一个worksheet
 ws = wb.active
 
 #设置单元格的值,A1等于6(测试可知openpyxl的行和列编号从1开始计算),B1等于7
 ws.cell(row=1, column=1).value = 6
 ws.cell("B1").value = 7
 
 #从第2行开始,写入9行10列数据,值为对应的列序号A、B、C、D...
 for row in range(2,11):
  for col in range (1,11):
   ws.cell(row=row, column=col).value = get_column_letter(col)
 
 #可以使用append插入一行数据
 ws.append(["我","你","她"])
 
 #保存
 wb.save(filename="/Users/budong/Desktop/a.xlsx")

2: 以下のように書かれた Excel の内容を読み取ります

 from openpyxl import load_workbook
 
 #打开一个workbook
 wb = load_workbook(filename="/Users/budong/Desktop/a.xlsx")
 
 #获取当前活跃的worksheet,默认就是第一个worksheet
 #ws = wb.active
 
 #当然也可以使用下面的方法
 
 #获取所有表格(worksheet)的名字
 sheets = wb.get_sheet_names()
 #第一个表格的名称
 sheet_first = sheets[0]
 #获取特定的worksheet
 ws = wb.get_sheet_by_name(sheet_first)
 #获取表格所有行和列,两者都是可迭代的
 rows = ws.rows
 columns = ws.columns
 
 #迭代所有的行
 for row in rows:
  line = [col.value for col in row]
  print line
 
 #通过坐标读取值
 print ws.cell('A1').value # A表示列,1表示行
 print ws.cell(row=1, column=1).value

以上がPython を使用して Excel xlsx ファイルを操作する方法の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。