🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Python

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

Q&A

解決済

1回答

1269閲覧

Python raw文字列

aaaaaaaaaaaaaai

総合スコア7

Python

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

0グッド

0クリップ

投稿2021/01/20 01:52

Pathの文字列を配列を使って作成したのですが、
作成した文字列でExcelを開くことができません。

Aさん~Bさんまでは
同じフォルダに入っていて、
それぞれのファイル名は同じです。
配列を使ってExcelを開けるように書きました。

<フォルダ>
■Aさんフォルダ
→AAA.xlsx
■Bさんフォルダ
→AAA.xlsx
■Cさんフォルダ
→AAA.xlsx
■Dさんフォルダ
→AAA.xlsx

excel_from_name = "AAA.xlsx" path = r"C:\Users\〇〇〇\Desktop\案件\Excelへ転記\転記元" folderlist = glob.glob(os.path.join(path, '*')) #ファイルのフルパスを取得 #10回繰り返す。「i」に0~9まで値が代入される for i in range(len(folderlist)): excel_path = folderlist[i] + "\" + excel_from_name word = folderlist[i] # シート名を取得 sheet_name = os.path.basename(word) #フォルダー名のみ取得 #Excel開く workbook = load_workbook(excel_path)

raw文字列が原因かと思いましたが、
どのように記載すればいいのか分からないでいます。

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

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

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

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

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

quickquip

2021/01/20 01:57

> 作成した文字列でExcelを開くことができません。 具体的に何が起こると期待していますか。実際に動かしたときに期待とは何が違いますか。 あとコードにはload_workbookを定義している所がありません。
aaaaaaaaaaaaaai

2021/01/20 02:05

"C:\Users\〇〇〇\Desktop\案件\Excelへ転記\転記元¥〇〇(例〇さんフォルダ)¥AAA.xlsx  を開いてExcelの値を取得したいです。 それをAさん~Dさんまで繰り返し処理を利用して行いたいです。 load_workbookの定義ですか?importはしてるのですが、不十分ですか?
quickquip

2021/01/20 02:15 編集

情報はこの欄に書かないでください。質問に追記してください。 > load_workbookの定義ですか?importはしてるのですが、不十分ですか? 質問に書いてありません。99% openpyxlからのimportだろうとは思っても、回答してから"そうじゃありません。実はこう書いてます"とか言われたら時間の無駄ですのでそういうところを省かれると躊躇します。 > C:\Users\〇〇〇\Desktop\案件\Excelへ転記\転記元¥〇〇(例〇さんフォルダ)¥AAA.xlsx  を開いて 質問のコードはそういうコードになっていると思いますが何があなたの期待と違いますか? という質問です。(まだちゃんと見てないので、"そういうコードになっていると思います"は"だいたい合ってそう"ぐらいの感覚の話です) ハッキリ書くと、"Excelを開く"が曖昧で、パッと考えると"Excelアプリケーションが起動する"と"xlsxファイルの中身が読める状態になる"の2通りの可能性があるのですが、あなたはどういう意味で使ってますか? ということです。 実際に動かしたときに何が起きて、それがあなたの期待とどう違うんですか? ということがこの質問には書かれていません。
quickquip

2021/01/20 02:32

一言にすると「載っている分のコードは普通に動くように見えるけれど何が問題なのか?」です。
jbpb0

2021/01/20 05:26

コードを動かしたけど、問題無くエクセルファイルを開けました 当方のPC内の適当な場所に空のフォルダを作り、その中に「Aさん」フォルダと「Bさん」フォルダを作り、それぞれの中に「AAA.xlsx」を置いて、確認しました コードの変更点は、下記の通り ・必要なimportを追加 ・path =... を、当方のPCの実際フォルダパスに変更 ・folderlist =... 以下の不要なインデントを削除 (for... 以下の必要なインデントは、もちろん残してます) ・load_workbook()の次に、エクセルファイルの内容を表示するコードを追加 > Excelを開くことができません。 とは、具体的に何が起きるのでしょうか? もしエラーメッセージが表示されるのなら、それを質問に追記してください (できるだけ省略せずに)
guest

回答1

0

自己解決

フォルダーを
excel_path = r"C:\Users" + nameUser + r"\Desktop\案件\転記元" + "" +sheet_name ~
と別の方法で試すとできました。

投稿2021/01/20 06:03

aaaaaaaaaaaaaai

総合スコア7

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

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

quickquip

2021/01/20 06:19 編集

excel_path = r"C:\Users\" + (以下略) ここの Users\ の部分のバックスラッシュが2つなのは合ってますか? 追記: 2つ合っても動きはするんですね。失礼しました 質問のコードのどこが悪いのか誰にも分からない状況を放っておくのですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問