性格いい人が優勝

一つのエクセル内でsheet1には会社名が下にセルA1からずらっと並んでいて(
A社、B社、C社・・・・・)、sheet2は請求用紙型版があった場合(エクセル名:基本.elsx として)、次にパイソンを使って各会社ごとに会社名の入ったその型版のエクセルファイルを一気に複数作成するにはどのようなパイソンプログラムとなるんでしょうか。

質問者からの補足コメント

  • 各会社ごとに会社名の入ったその型版のエクセルファイルを一気に複数作成とはエクセル名は
    A社.elsx、B社.elsx、C社.elsxという名にして、各社ファイルを請求用紙型版はそのまま残して作るということです。それは各会社ごとのSheet1に存在してということです(請求用紙型版は同じくして)。

      補足日時:2021/12/19 13:09
  • 有難うございます。openpyxlは使えます、ただしIDLE (Python 3.10 64-bit)でのみ、VSコードやパイチャームはpassが上手くいかないのかいくらやってもうまく動かせない初心者です。.elsxのは.xlsxの間違いでした。すみません。おなじ フォルダーで宜しいです。一気に同じ型版のある会社ごとのファイルを作りたいということです。

    No.2の回答に寄せられた補足コメントです。 補足日時:2021/12/21 07:02
  • 有難う 複数ファイルはそれぞれに一瞬でできました、でも欲しいのは どの複数ファイルにも請求書などの同じ型版が入ってゐるようなファイルが欲しいとなれば どのように記述するんでしょうか。

    No.3の回答に寄せられた補足コメントです。 補足日時:2021/12/21 07:17
  • うまく いかない。Book1.xlsxと基本.xlsx と各excelファイルを格納しているフォルダは おなじ
    階層に入るんでしょうか、Book1.xlsxと基本.xlsx は各excelファイルを格納しているフォルダ内にはいってしまうんでしょうか・・。

    No.4の回答に寄せられた補足コメントです。 補足日時:2021/12/22 05:47
  • [Errno 2] No such file or directory: 'C:/Users/○○/AppData/Local/Programs/Python/Python310/testoda/Book1.xlsx' (○○は自分の名前)
    (基本.xlsx、Book1.xlsx)をtesutodaのフォルダーの中に入れてもいれなくても 上記表示がでるんだ。(tesutodaは各会社名のファイルを格納フォルダ)
    import openpyxl as px
    import shutil
    dir_name = "C:/Users/hideki/AppData/Local/Programs/Python/Python310/testoda"
    base_book_name = "Book1.xlsx"
    src_book_name = "基本.xlsx"
     以下同じ

      補足日時:2021/12/22 06:09
  • tesutoda→testodaの誤り(各会社ファイル入れファイルホルダー名)、Book1.xlsx、基本.xlsxをtestodaの外に出してやってみた。
    Traceback (most recent call last):
    File "C:\Users\hideki\AppData\Local\Programs\Python\Python310\kihonnde.py", line 7, in <module>
    bbk = px.load_workbook(dir_name + "/" + base_book_name)


    字が多くなるので 次の補足へ

      補足日時:2021/12/22 17:46
  • 補足続き
    File "C:\Users\hideki\AppData\Local\Programs\Python\Python310\lib\site-packages\openpyxl\reader\excel.py", line 315, in load_workbook
    reader = ExcelReader(filename, read_only, keep_vba,
    File "C:\Users\hideki\AppData\Local\Programs\Python\Python310\lib\site-packages\openpyxl\reader\excel.py", line 124, in __init__
    self.archive = _validate_archive(fn)

      補足日時:2021/12/22 17:48
  • File "C:\Users\hideki\AppData\Local\Programs\Python\Python310\lib\site-packages\openpyxl\reader\excel.py", line 96, in _validate_archive
    archive = ZipFile(filename, 'r')
    File "C:\Users\hideki\AppData\Local\Programs\Python\Python310\lib\zipfile.py", line 1240, in __init__
    self.fp = io.open(file, filemode)

      補足日時:2021/12/22 17:50
  • FileNotFoundError: [Errno 2] No such file or directory: 'C:/Users/hideki/AppData/Local/Programs/Python/Python310/testoda/Book1.xlsx'

    となります。 まえのままでやらせていただきました。すみません

      補足日時:2021/12/22 17:52
  • C:\Users\hideki>dir C:\Users\hideki\AppData\Local\Programs\Python\Python310\test
    oda\Book1.xlsx
    ドライブ C のボリューム ラベルは Windows 8 です ボリューム シリアル番号は 66C8-0F2B です
    C:\Users\hideki\AppData\Local\Programs\Python\Python310\testoda のディレクトリ
    ファイルが見つかりませんでした。(Book1.xlsxはtestodaの外に置いた状態)
    しかし、中に入れると でる。省略 8,267 Book1.xlsx
    1 個のファイル 8,267 バイト
    0 個のディレクトリ 省略

    No.7の回答に寄せられた補足コメントです。 補足日時:2021/12/23 05:18

A 回答 (10件)

dir C:\Users\hideki\AppData\Local\Programs\Python\Python310\testoda\Book1.xlsx


でBook1.xlsxの情報が表示されたということですね。
これ以上は、こちらではどうすることもできません。
申し訳ありませんが、ギブアップになります。

あと思いつくことは、No5の項番3(c:\testでの試験)ぐらいです。
    • good
    • 0
この回答へのお礼

できました。タイプミスでした 基礎.xlsx→基本.xlsxsでした。長い間 ありがとう。同じtestodaフォルダーに Book1と基本.xlsxをいれて実行してみたらtestodaフォルダー内に会社ごとでできました。タイプミス注意いたします。

お礼日時:2021/12/25 04:56

Cドライブ以外があればそちらにフォルダを作成しテストされては?



どの道補足はもうできないでしょうからこの質問のリンクを貼ると言う前提で、
https://teratail.com/
こちらで質問をされてみるとか?

Cドライブはサインインしたアカウントの持つ権限による違いもありそうですしね。
    • good
    • 0
この回答へのお礼

解決しました。このようなサイトもあるんですね。有難う !!!

お礼日時:2021/12/25 04:58

Pythonで実行中のファイルの場所(パス)を取得する__file__


https://note.nkmk.me/python-script-file-path/

#-------
import os

dir_name = os.path.dirname(__file__);
print(dir_name);
#--------

.pyファイルとBookが同じフォルダにあると言うなら、こちらの方がPath取得には便利なのではと思います。
    • good
    • 0

コマンドプロンプトで


C:\の直下に移動し、
dir C:\Users\hideki\AppData\Local\Programs\Python\Python310\testoda\Book1.xlsx
と入力してください。Book1.xlsxがあれば、そのファイルの情報が表示されるはずです。なければ、エラーが表示されます。

添付図は、C:\の直下で C:\Windows\py.exe を表示した例です。
「パイソンで複数のエクセルファイル作成」の回答画像7
この回答への補足あり
    • good
    • 0

No5です。


失礼しました。添付図が漏れていました。付加します。
「パイソンで複数のエクセルファイル作成」の回答画像6
    • good
    • 0

1.[Errno 2] No such file or directory:のエラーは、


ソースの何行目で発生していますか。
添付図のようなエラーが表示されると思いますが、
そのエラーメッセージの全てを見たいです。
添付図では、test3.pyの7行目の
File "test3.py", line 7, in <module>
bbk = px.load_workbook(dir_name + "/" + base_book_name)
でエラーが発生していることが読み取れます。

2.(tesutodaは各会社名のファイルを格納フォルダ)
ということですが、ソース上はtestodaとなっています。
testodaとtesutodaのどちらが正しいのでしょうか。

3.念のためもっと簡単なフォルダを作成しそこで試験をされてはいかがでしょうか。
①c:\test のフォルダを作成
②c:\test 下にBook1.xlsx と 基本.xlsx を格納
③スクリプトの3行目を
dir_name = "c:/test"
に変更
④スクリプト実行
    • good
    • 0

No2です。


下記URLへアップしました。
https://ideone.com/Je1yO2
このサイトは、投稿時インデントがくずれるので、上記のURLへアップしています。

dir_name = "d:/goo/python/test_excel"
は、各excelファイルを格納しているフォルダ名です。
あなたの環境にあわせて適切に設定してください。

base_book_name = "Book1.xlsx"
は、一つのエクセル内でsheet1には会社名が下にセルA1からずらっと並んでいるファイルです。
あなたの環境にあわせて適切に設定してください。
この回答への補足あり
    • good
    • 0
この回答への補足あり
    • good
    • 0

補足要求です。


1.python でexcelを操作するパッケージはopenpyxlを使用しますが宜しいでしょうか。
2.基本.elsxは基本.xlsxの誤りではないでしょうか。
拡張子が.elsxのファイルは私のexcelでは扱えません。
3.以下のファイルは全て同じフォルダにある前提で良いですか。
①一つのエクセルファイル(会社名がずらっとA列に並んだファイル)
②基本.xlsx
4.基本.xlsxをコピーして作る各会社ごとのファイルも、上記の3と同じ
フォルダになりますが、よろしいでしょうか。
この回答への補足あり
    • good
    • 0

未経験者ですがちょっと疑問で。



>次にパイソンを使って各会社ごとに会社名の入ったその型版のエクセルファイル

Sheet2のどこに会社名を入れるのかは情報としてあげておいた方が宜しいのではないかなと。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!