![見出し画像](https://assets.st-note.com/production/uploads/images/87149197/rectangle_large_type_2_fdc3666c723a4fa1a3d4a20940398c36.png?width=1200)
試行錯誤したExcelデータ転記【Python🐍】
こんにちは!
パソコンインストラクター歴12年目の
チサです。(*´∀`)
今日は
2日ほど試行錯誤して
ようやくPython🐍で書けた🎉
エクセルデータ転記について
書こうと思います。
どんなことを
したのかというと⁇
こんなデータがあったとして👇
![](https://assets.st-note.com/img/1663552791531-KNfR1KiOI6.png?width=1200)
(架空)
有料注文数が1000🫢
そんなにたくさん売れたら
うれしいなーー
( ´∀` )
あ!このデータは
Kindle作家📕の方なら
一度はみたことある?
かもしれないです。
AmazonのKDPサイトから
ダウンロードできる
売上データ表の一部
【注文】シートです。
(中身はわたしの願望が詰まった
架空データ🤣)
この売上データ表から
こんな風にデータを転記したい!
![](https://assets.st-note.com/img/1663552956522-yS16QjOmqz.png?width=1200)
分析シートに
書き出したい!
(🔥口🔥)و
❶本ごとにまとめて
❷さらに!
どのマーケットで合計何冊売れたのか?
集計して別シートに転記💻
これね…
エクセルのピボットテーブル使ったら
すぐできるんですが👇
![](https://assets.st-note.com/img/1663553098603-t1nyw7efYF.png?width=1200)
便利ーー!
そんな
すぐにわかる分析を🤣
今回はPython🐍の勉強がてら
2日もかかって
コードを書いてみました!!
𐤔wʷ 🤣 𐤔w𐤔
わたしはこれまでは
1つの条件を元に集計する…
ということはやったことがあったんですが
今回のように
本ごと
さらにマーケットごと
という
2つの縛りがあるのは初だったので
なかなか
いいアイデアが出てこなくて💦
いろいろ試行錯誤。。
やっとこ書き出せました( ´∀` )
今日はわたしがどんな風に
書いたのか?
そのコードをお見せしますね。
もっといい方法をご存じの方は
ぜひぜひ教えてください!
(絶対もっとすっきり書ける方法あると思う!)
*_ _)ペコリン
ではでは
ごらんあれーーー!👇
import openpyxl
path_excel = "KDP.xlsx"
path_save = "KDP_result.xlsx"
wb = openpyxl.load_workbook(path_excel)
ws = wb["注文"]
# 注文シートから重複しないbook_list作成
book_list = []
for row in ws["B2:B" + str(ws.max_row)]:
key = row[0].value
if key not in book_list:
book_list.append(key)
ws_to = wb["分析"]
idx = 2
for book in book_list:
com_dict = {}
for row in ws["A2:G" + str(ws.max_row)]:
# どのマーケットで何冊売れたのか?com_dictにデータを入れる
if book == row[1].value:
place = row[4].value
hanbaisu = row[5].value
if place not in com_dict:
com_dict[place] = [hanbaisu]
else:
com_dict[place].append(hanbaisu)
# com_dictの情報を分析シートに転記
for key, values in com_dict.items():
ws_to["A" + str(idx)].value = book
ws_to["B" + str(idx)].value = key
kazu = 0
for value in values:
kazu += value
ws_to["C" + str(idx)].value = kazu
idx += 1
wb.save(path_save)
wb.close()
print("完了")
Python🐍は
インデントがずれると
動作が変わってくるので
要注意ですね!
リストやら辞書やら
織り交ぜて
なんとか完成しました!
ヾ(●´∇`●)ノ
書いてて思ったことは…
やっぱりプログラミングって
すこしずつ完成させていくのが
着実にゴールに近づけられるな!
ってこと。
ദ്ദി ˃ ᵕ ˂ ) ‹"ーᵎᵎ
理屈はわかってても
いざ!思い通りに動かすのって
けっこうむずかしい💦
なので、
まずは小さいところから
骨組みをつくって🦴
だんだん肉付け🥩する。。
みたいなイメージで作るのが
いいな!
と思いました。
またやりたいことを見つけて
Python🐍修行をしたいな思います♪
(*´∀`*)
ではでは
またあした!
(´꒳`)/
【Amazonで販売中のKindle📕】
➊パソコンに関する📕 2冊
➋Kindle出版に関する📕 2冊
➌節約に関する📕 1冊
➍読書に関する📕 1冊
➎海外の方向けの📕 3冊
気になる本があれば
試し読みだけでも♪
(´▽`)
この記事が気に入ったらサポートをしてみませんか?