chatGPTを使ってカグメイクを作る-vol3
ノンプログラマーでもここまで出来るよ!という所を綴っていきます。
これまでの所、エクセルシートから四角形を作図する位置を読み込むプログラムを作りました。
作っている中で色々なやりたい事や、日常業務が出てきてなかなか進まないですね。当然っちゃ当然です。
今日の課題
エクセルのカグメイクから数値のみのファイルを作る(CSV)
CSVから板の情報を画像で表示する
この二つにチャレンジします。vol3では1つめの課題をやります。
エクセルのカグメイクから数値のみのファイルを作る(CSV)
エクセルには、家具の数値が出ています。
ただ、色んな所に飛び散っているので、それを一か所にまとめなければなりません。それをchatGPTと奮闘しました。
素人なりの奮闘を見て下さい。。。いつか、このデータを取得する必要すらなくなる予定ですが。。。
CSVを試しに作る
壁面収納なので、箱を1から15個まで組み合わせるようにしています。それぞれのシートの右の端っこにエクセルで作った、name,w,d,h,w,d,hのデータをCSVファイルにします。
pythonCopy codeimport pandas as pd
def read_and_filter_data(file_name, sheet_name="1", columns=None, nrows=180):
if columns is None:
columns = [182, 190, 191, 192, 194, 193, 195]
df = pd.read_excel(file_name, sheet_name=sheet_name, usecols=columns, nrows=nrows)
# Filter rows with non-empty values in columns 190, 191, 192, 194, 193, and 195
filtered_df = df[df[[190, 191, 192, 194, 193, 195]].notnull().all(axis=1)]
return filtered_df
def save_data_to_csv(data, output_file):
data.to_csv(output_file, index=False)
if __name__ == "__main__":
output_csv = r"Desktop\output.csv"
data = read_and_filter_data(file_name)
save_data_to_csv(data, output_csv)
早い!すぐできた。
でもエラー
エラー出ました。インデックスじゃなくて名前で取得せなあかんみたいですね~。詳しくなくてすまん。
wとdの順番間違ってる・・・
ファイルをループさせたい!
家具のファイルをそれぞれ、1.csv,2.csvってループさせて、それぞれに同じ処理をさせたいです。
出来た!!!!
出来ました。既にデータになってる・・・こいつを昨日作った画像作成に読み込んだらもう板が出来上がってしまうぞ!
シートのループするための壁面家具の数を取得してループしたいぞ
出来た!!!今回は2つの家具を重ねてジョイントする収納です。
ここでのエラー処理
実はここで結構エラー出てました。
エラーも、慣れですね。もうエラーコードをガンガン教えるだけです。
さて、、、僕はコピペだけして、chatGPTは毎回、上記の返答+コードを書いてくれます。
ありがたい・・・
普通の会話ですね。
ただ、openpyxlは本当に遅くて、pandasでのエクセルは、ファイルアクセスを全く感じない速度。勉強せんくても勉強になるのがいいところ。
ちなみに、全く読めないわけではなくて、少しだけテキストは読んだくらいのpythonの経験です。
もうopenpyxl諦めました。
まとめ
以上で、エクセルからCSVファイルへの書き出しが完了しました。
今のところ、エクセルで数値を作り上げる→pythonでCSVファイルを取得。まで完成しました。今回の作業は1.5時間程度です。
穴加工や板の加工、金具設置等は今の所無視していますが、板の情報は既にオッケーになりました。
次はこれをビジュアル化したいと思います。
にわかプログラマーでもここまで出来る、chatGPTすごい!
vol4へ続く
サポートをお願いします!サポートいただいた分だけはお返し出来るようにアウトプットしていこうと思います!