WORK

【Python】pandasでエクセルの特定セルを選択し入力する方法

こんな方におすすめ

  • pythonを使ってエクセルのセルに代入したい人
  • どのサイト見てもなんだかわかりづらくて、pythonが難しく感じる人

 

どうもわやです。

 

この記事では、Pandasを使ってエクセルの特定セルに入力をするプログラムを紹介したいと思います。

 

こういう記事を書こうと思ったきっかけがどこを調べてもいまいちわかりづらいんですよね。わかりやすく書いている記事が少ない。。

なので、わかりやすく書くことを意識します。

わや
どのサイト見ても読むだけで疲れる書き方してあります。プログラマーが備忘録的に書いてある記事は特に難しいですね。

 

pandasでエクセルの特定セルに入力する方法

まずエクセルファイルを準備します。簡単に以下のようなエクセルを作ります。

準備

このファイルをpythonを実行するフォルダに保存しておきます

企業 売上 利益
A社 100 10
B社 200 5
C社 150 30

↑こんな感じのエクセルファイルを作りました。

 

それではさっそくどうやって入力するのかやっていきます。

とりあえずB社の売上を200→2000に変更しようと思います。

 

iatを使う

こういうときに役立つのが、iatです。

iatは、エクセルのセルを行列の数字を指定できます

iatで入力したいセルを選択して、2000を代入します。

 command
import pandas as pd #pandasをインポート
pd = pd.read_excel("test.xlsx") #先ほど作成したエクセルファイルを読み込みます。
pd.iat[1,1] = 2000 #B社の売上を選択して2000を代入

これでできます。めっちゃ簡単ですね。

 

簡単に解説

簡単に解説しますが、

ポイント

  • 1行目:pandasをインポートしています。ライブラリのインポートは必須です。
  • 2行目:pandasを使って先ほどのエクセルファイルを読み込みます。excel→csvに変えることでcsvファイルを読み込めます。
  • 3行目:iatを使ってセルを選択し、2000を代入。1行目はカラム名として読み込むのでカウントされていないところに注意です。

 

【発展】カラム名とインデックス名からセルを選択

中には、膨大な行数・列数のエクセルファイルを使っていて、数字を数えていられないという方も多いかと思います。

 

そういう時に役立つのが、atです。

atを使うことで、セルを数字ではなく、カラムとインデックスを文字列で指定できます。

実際に使ってみるとこんな感じです。

 command
import pandas as pd
pd = pd.read_excel("test.xlsx",index_col = 0)
pd.at["B社","売上"] = 2000

 

これも簡単ですね。何が変わったのかというと、

ポイント

  • 最初のエクセルファイルの読み込みで、0列目をインデックスとして読み込み(index_col=0)
  • atのところで、数字ではなくインデックスとカラムの文字列でセルを指定

こんなことをしています。

 

 

結論:pandasでセルを選択したいなら、atやiatを使う

pandasは非常に便利なpythonのライブラリです

僕も日々勉強しながら、業務にpythonをいかしていますので、みなさんも勉強して業務を改善していきましょう。

 

今後も学習したことを発信しますので、良かったら見てみてください。

 

  • この記事を書いた人

わや

大手メーカーで働く29歳研究職。毎日フレックスタイムと在宅勤務を活用して自由気ままに働いてる。 エンジニア向けの情報を発信するので、記事を見て気に入ってもらえたらtwitterもフォローください。

-WORK

© 2021 tech-Life