ホームページ  >  記事  >  バックエンド開発  >  PythonでExcelテーブルを読み書きする方法

PythonでExcelテーブルを読み書きする方法

(*-*)浩
(*-*)浩オリジナル
2019-07-01 10:41:366748ブラウズ

最近データ加工や計算の仕事をしているのですが、データが.CSV形式で保存されているので、Excelを使って直接処理するようになりました。しかし、やっていくうちに、この繰り返しの作業は実際にはあまり意味がないことに気づき、それに対処するための小さなツールを作成しようと考えました。 Excel のテーブルを Python で処理するという話を以前たまたま本で読んだのですが、残念ながらよく読んでいませんでした。

PythonでExcelテーブルを読み書きする方法

Python は Excel を操作するために主に xlrd と xlwt という 2 つのライブラリを使用します。つまり、xlrd は Excel を読み取るためのライブラリ、xlwt は Excel を書き込むためのライブラリです。 。

Python で Excel を書く—xlwt(推奨学習: Python ビデオ チュートリアル)

Python で Excel を書くことの難しさは次のとおりです。ワークブック自体を構築するのではなく、設定されたデータは範囲外です。

Excelを書く作業には、結合したセルを書くのがさらに面倒だったり、書き方のバリエーションがあったりと、やっかいな問題もあります。

詳細なコードは次のとおりです:

import xlwt

#设置表格样式
def set_style(name,height,bold=False):
    style = xlwt.XFStyle()
    font = xlwt.Font()
    font.name = name
    font.bold = bold
    font.color_index = 4
    font.height = height
    style.font = font
    return style

#写Excel
def write_excel():
    f = xlwt.Workbook()
    sheet1 = f.add_sheet('学生',cell_overwrite_ok=True)
    row0 = ["姓名","年龄","出生日期","爱好"]
    colum0 = ["张三","李四","恋习Python","小明","小红","无名"]
    #写第一行
    for i in range(0,len(row0)):
        sheet1.write(0,i,row0[i],set_style('Times New Roman',220,True))
    #写第一列
    for i in range(0,len(colum0)):
        sheet1.write(i+1,0,colum0[i],set_style('Times New Roman',220,True))

    sheet1.write(1,3,'2006/12/12')
    sheet1.write_merge(6,6,1,3,'未知')#合并行单元格
    sheet1.write_merge(1,2,3,3,'打游戏')#合并列单元格
    sheet1.write_merge(4,5,3,3,'打篮球')

    f.save('test.xls')

if __name__ == '__main__':
    write_excel()

Python 読み取り Excel - xlrd

Python 読み取り Excel テーブル. xlwt と比較して、xlrd は次の機能を提供します。インターフェイスは多数ありますが、日付の読み取りや結合されたセルの内容の読み取りなど、そのプロセスにはいくつかの厄介な問題もあります。

全体的な考え方は、ファイルを開き、テーブルを選択し、行と列の内容を読み取り、テーブル内のデータを読み取ることです。

詳細なコードは次のとおりです:

import xlrd
from datetime import date,datetime

file = 'test3.xlsx'

def read_excel():

    wb = xlrd.open_workbook(filename=file)#打开文件
    print(wb.sheet_names())#获取所有表格名字

    sheet1 = wb.sheet_by_index(0)#通过索引获取表格
    sheet2 = wb.sheet_by_name('年级')#通过名字获取表格
    print(sheet1,sheet2)
    print(sheet1.name,sheet1.nrows,sheet1.ncols)

    rows = sheet1.row_values(2)#获取行内容
    cols = sheet1.col_values(3)#获取列内容
    print(rows)
    print(cols)

    print(sheet1.cell(1,0).value)#获取表格里的内容,三种方式
    print(sheet1.cell_value(1,0))
    print(sheet1.row(1)[0].value)

その他の Python 関連の技術記事については、Python チュートリアル 列にアクセスして学習してください。

以上がPythonでExcelテーブルを読み書きする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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