質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

3回答

2540閲覧

openpyxlでのwsについて

nikiniki0729

総合スコア1

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/10/01 13:45

Python初心者です。
openpyxlでのwsについての使い方がわかりません。
ほかのサイトでの情報だけでは解決できそうになかったので質問したいです。
wsという関数が追加できていないのでしょうか?

発生している問題・エラーメッセージ

ws.title = "aio" NameError: name 'ws' is not defined

該当のソースコード

Python

1import openpyxl 2wb=openpyxl.load_workbook("sample.xlsx") 3ws.title = "aio" 4 5print(wb.sheetnames) 6 7wb.save("sample.xlsx") 8

試したこと

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2020/10/01 13:49

> openpyxlでのwsについての使い方がわかりません。 質問のコードはどこからのものでしょうか?(質問者自身が作成したものでないからwsの定義が分からない、ということですよね?)
guest

回答3

0

ベストアンサー

質問者さんが参考にされたサイトopenpyxl による Excelファイル操作方法のまとめには下記の記述がありました。
ここを読み飛ばされていたものと思われます。

  1. シートの取得

名前が「Sheet1」のシート

ws = wb["Sheet1"]

先頭のシート(注意:インデックス番号は0から始まる)

ws = wb.worksheets[0]

上記のいずれかのコードを書けば良いでしょう。

投稿2020/10/01 13:59

meg_

総合スコア10760

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nikiniki0729

2020/10/01 14:04

回答ありがとうございます。 ただの読み違いでのミスでお恥ずかしい限りです。丁寧に教えてくださってありがとうございます。
guest

0

エクセルの文書ファイル(ワークブック)は、複数のワークシートの集合です。
openpyxlでも、ワークブックを開いて、ワークシートを選択してから、シート名の変更などを行なうことができます。

ワークシートが一つだけ(とわかっている)なら、worksheets[0]で取得するのが簡単です。複数のワークシートがある場合は、これだと先頭のワークシートが対象になります。
これをwsという変数に代入すれば、wsを使ってシート名の変更などのメソッドを呼び出せます。おそらく、参考にしていたサイトなり参考書なりの、ws = ...を見逃したのでしょう。

Python

1import openpyxl 2wb = openpyxl.load_workbook("sample.xlsx") 3ws = wb.worksheets[0] 4ws.title = "aio" 5(以下略)

投稿2020/10/01 13:55

編集2020/10/01 13:57
Daregada

総合スコア11990

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nikiniki0729

2020/10/01 14:07

回答ありがとうございます。 ただの読み違いでのミスでお恥ずかしい限りです。丁寧に教えてくださってありがとうございます。
guest

0

ws なんて無いですよ?
どういう機能だと思って、ws と書いたんですか?

投稿2020/10/01 13:53

takutakuya

総合スコア979

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問