↑スレ立てる毎に減るので、減ってたら3つに補充すること。
・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
・エラーを解決したいときは、かならず
エラー文(勝手に省略orスクショうp等の横着禁止)と
おま環(Pythonのバージョン番号+OS名とバージョン+IDE名)を書け。
★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、
↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
ttps://techiedelight.com/compiler/ Run Code機能あり。
ttp://ideone.com/ デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Pythonオフィシャルサイト http://www.python.org/
◇Pythonドキュメント https://docs.python.org/ja/3/
◇まとめwiki ttp://python.rdy.jp/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
探検
Pythonのお勉強 Part70
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 8b01-Qpn1)
2023/03/04(土) 00:18:00.31ID:dUl31UkL0795デフォルトの名無しさん (ワッチョイ 2bfb-KmyD)
2023/08/23(水) 12:29:49.59ID:T2QqPuZT0 猫も杓子もpythonPythonって
数値計算や機械学習ならRやc++で扱いたいわ
数値計算や機械学習ならRやc++で扱いたいわ
796デフォルトの名無しさん (ワッチョイ dbcd-OWPS)
2023/08/23(水) 12:38:43.49ID:08U3MUKX0 なんかR嫌い…
797デフォルトの名無しさん (ワッチョイ 7954-YAjS)
2023/08/23(水) 12:54:37.65ID:me1+gCKa0 Rが適した用途はRがいいんだけど、
範囲が狭いから便利になる人が少ないんだよな
範囲が狭いから便利になる人が少ないんだよな
798デフォルトの名無しさん (ワッチョイ db02-5owp)
2023/08/23(水) 13:01:27.66ID:wIF471YP0 エクセルでpython使えるとか前から言われてたけどついにそうなったのか
mysqlやsqlite3,postgresqlなんかと違って
表示前提のRDBMSって感じ?
mysqlやsqlite3,postgresqlなんかと違って
表示前提のRDBMSって感じ?
799デフォルトの名無しさん (ワッチョイ 5105-D2YO)
2023/08/23(水) 13:14:34.96ID:WZJfreeh0 まあVBAを嫌ってた人にとっては選択肢が増えるのは喜ばしい事なんだろうな
800デフォルトの名無しさん (アウアウウー Sa45-JDKz)
2023/08/23(水) 13:15:00.88ID:3Xorbibba RDBMSでは無い
801デフォルトの名無しさん (ワッチョイ 5105-D2YO)
2023/08/23(水) 13:25:21.92ID:WZJfreeh0 まだまだ限定的な利用しか出来ないんだな
LibreOfficeとかかなり前から使えてるのに
LibreOfficeとかかなり前から使えてるのに
802デフォルトの名無しさん (ワッチョイ 7954-YAjS)
2023/08/23(水) 13:39:23.20ID:me1+gCKa0 excelの形式そのものがガンなんだけどな
データを読み込んでxlsxにして保存するだけで30秒とかかかる
100万行に上限がある
ちゃんと処理したいならexcelは極力避けて、人間とのIF部分だけに留めるべき
その程度ならVBAでも大した手間にはならない
データを読み込んでxlsxにして保存するだけで30秒とかかかる
100万行に上限がある
ちゃんと処理したいならexcelは極力避けて、人間とのIF部分だけに留めるべき
その程度ならVBAでも大した手間にはならない
803デフォルトの名無しさん (ワッチョイ 934f-6i9g)
2023/08/23(水) 13:43:16.41ID:1DVbltby0 ネットからデータ取得出来る様になってれば大分捗るな
外部アクセスは機能制限されてそうだけど
外部アクセスは機能制限されてそうだけど
804デフォルトの名無しさん (ブーイモ MM4b-tjTV)
2023/08/23(水) 13:45:01.10ID:AcCxuATFM >>799
もうVBA覚える必要すらないんだ
もうVBA覚える必要すらないんだ
805デフォルトの名無しさん (ワッチョイ 2b46-6Yea)
2023/08/23(水) 14:08:39.22ID:w8jQJQs20 >>804
Dim var とか変数宣言する Python かもしれないよ。Py# とか名づけられて。
Dim var とか変数宣言する Python かもしれないよ。Py# とか名づけられて。
806デフォルトの名無しさん (ワッチョイ 2bcf-+Ji6)
2023/08/23(水) 14:49:16.09ID:Rc0NIPuS0 >>800
それはわかってるよ
逆説的に、例えば「pythonで、データベース部分をmysqlで、エクセルっぽいアプリ作りました」と変わらくなってくんじゃないのってこと
詳しくは知らないけどGoogle Sheetsとかまさにそうじゃないの?
それはわかってるよ
逆説的に、例えば「pythonで、データベース部分をmysqlで、エクセルっぽいアプリ作りました」と変わらくなってくんじゃないのってこと
詳しくは知らないけどGoogle Sheetsとかまさにそうじゃないの?
807デフォルトの名無しさん (ワッチョイ c905-mM8a)
2023/08/23(水) 14:55:19.32ID:9u+qB/A00 データベース操作有りきのpythonってことにはなりそうではある
808デフォルトの名無しさん (ワッチョイ 691a-y42I)
2023/08/23(水) 14:58:39.32ID:5+B+6aoI0 そりゃまぁ表計算ソフトってどう考えても計算機能主体よりもデータベース主体で考えた方が合理的だわな
809デフォルトの名無しさん (ワッチョイ c910-42me)
2023/08/23(水) 15:05:20.50ID:OE9aeGm20 idスレだとあいつ一発退場になってて草
810デフォルトの名無しさん (ワッチョイ ab33-0su1)
2023/08/23(水) 15:06:37.91ID:OoNHdIe20 次はあえてpythonでゲームプログラミング周りを強化してほしい
811デフォルトの名無しさん (ワッチョイ 7954-YAjS)
2023/08/23(水) 15:16:40.66ID:me1+gCKa0 excelを扱わないといけないこともあるけど、pandasとかそういういい感じのは使えない
ただの2次元配列として読み込んで、必要なデータは自力で探す
機械で素直に読めるようにと気を使うような人だったら、
最初からデータ形式にexcelを選ばんのよ
ただの2次元配列として読み込んで、必要なデータは自力で探す
機械で素直に読めるようにと気を使うような人だったら、
最初からデータ形式にexcelを選ばんのよ
812デフォルトの名無しさん (ワッチョイ 5105-D2YO)
2023/08/23(水) 15:20:51.16ID:WZJfreeh0 あくまで出力用でデータストアとしての利用は無理が
814デフォルトの名無しさん (ワッチョイ 2bcf-YAjS)
2023/08/23(水) 21:36:48.76ID:Odc9jJej0 >>806
記事を見る限りはVBAやマクロの代わりにpythonが書けるようになったとしか思えないが
記事を見る限りはVBAやマクロの代わりにpythonが書けるようになったとしか思えないが
815デフォルトの名無しさん (ワッチョイ 8959-h7Ri)
2023/08/23(水) 23:28:55.34ID:Gy+Uvs1z0 Pythonでexcel弄るのと何が違うんだ。
816デフォルトの名無しさん (アウアウウー Sa45-75ij)
2023/08/24(木) 07:08:32.89ID:UfAeCzV0a Pythonでexcel弄るのは
15年以上前から出来てるのを今更
excel上のpythonで実行する方が遅い可能性まである
15年以上前から出来てるのを今更
excel上のpythonで実行する方が遅い可能性まである
817デフォルトの名無しさん (ワッチョイ 2b7b-QJMN)
2023/08/24(木) 09:10:43.31ID:336gIh/k0 単にVBAでいじるのが嫌ってだけでしょ。俺もVBAは嫌い。
818デフォルトの名無しさん (スーップ Sdb3-7WDu)
2023/08/24(木) 09:18:05.21ID:XmY66ZqSd パパも?!
ママー裸じゃいやー!!
ママー裸じゃいやー!!
819デフォルトの名無しさん (ワッチョイ 7954-YAjS)
2023/08/24(木) 09:24:28.24ID:ERnyjfkQ0 あんなもんは懲役刑の一種だ
被告をVBA開発3年の刑に処す
被告をVBA開発3年の刑に処す
820デフォルトの名無しさん (スップ Sdf3-WWdL)
2023/08/24(木) 09:30:40.61ID:mwIHzd4fd リストのappendって順序保証されてたっけ・・?
821デフォルトの名無しさん (ワッチョイ 2b46-zV/e)
2023/08/24(木) 09:33:26.42ID:fKPaMPSR0 >>815
ワークシートにコードを書くと、自オブジェクトがワークシートなので、excel.workbooks[x].worksheets[x] みたいに辿らなくて済む「気安さ」はあるのかもしれない。
や、想像だけど。
ワークシートにコードを書くと、自オブジェクトがワークシートなので、excel.workbooks[x].worksheets[x] みたいに辿らなくて済む「気安さ」はあるのかもしれない。
や、想像だけど。
822デフォルトの名無しさん (ワッチョイ 2b10-wLNT)
2023/08/24(木) 09:38:02.70ID:/tekwqPS0 excelからpython使いたい人はもう使ってるわな
823デフォルトの名無しさん (テテンテンテン MM4b-7WDu)
2023/08/24(木) 10:00:56.65ID:gv9nNnk+M 罫線やらフォントやら背景やら
装飾の手間が省けるといいのだがな
excelやpoor point使うのは多様な見せかたができるからだろ
装飾の手間が省けるといいのだがな
excelやpoor point使うのは多様な見せかたができるからだろ
824デフォルトの名無しさん (ワッチョイ 7954-YAjS)
2023/08/24(木) 10:03:24.50ID:ERnyjfkQ0 画像の貼り付けとか出来なかったな
似たようなのをフォントと色を工夫して作った
似たようなのをフォントと色を工夫して作った
825デフォルトの名無しさん (アウアウウー Sa45-+NC1)
2023/08/24(木) 13:47:47.18ID:B0BRQL9da そもそもExcelだけPython OKにするのは違和感でしかないので
826デフォルトの名無しさん (ブーイモ MM4b-tjTV)
2023/08/24(木) 13:52:11.78ID:itl4U/XBM Pythonは学習コストが低いから
その点JSでも良いんだけど、そっちは10進数型使えなくて数値計算に向かない
その点JSでも良いんだけど、そっちは10進数型使えなくて数値計算に向かない
827デフォルトの名無しさん (テテンテンテン MM4b-7WDu)
2023/08/24(木) 14:51:34.81ID:6pjOgQ6JM しかし編集はVBA用の糞エディタつかうのかなぁ?
VS Code埋め込んで欲しいわ
VS Code埋め込んで欲しいわ
828デフォルトの名無しさん (ワッチョイ 2bfb-KmyD)
2023/08/24(木) 19:52:22.32ID:KHAHuAyj0 学習コスト低いって学習しやすい訳ではなくて応用の幅が広いからコスト低いだけやからな
マルチスレッドや純粋仮想関数などもあるので他の言語と学習時間そのものはそんなに変わらない
マルチスレッドや純粋仮想関数などもあるので他の言語と学習時間そのものはそんなに変わらない
829デフォルトの名無しさん (ワッチョイ 7954-YAjS)
2023/08/24(木) 20:56:17.41ID:ERnyjfkQ0 いや、学習しやすいよ
830デフォルトの名無しさん (ワッチョイ 2bfb-KmyD)
2023/08/24(木) 20:59:40.23ID:KHAHuAyj0 学習しやすいってcに比較しても学ぶこと多いのにか?
学習しやすいって何をもって学習しやすいって言ってる?
オブジェクト指向言語であれば他とそんな変わらないだろう
学習しやすいって何をもって学習しやすいって言ってる?
オブジェクト指向言語であれば他とそんな変わらないだろう
831デフォルトの名無しさん (ワッチョイ 2bfb-KmyD)
2023/08/24(木) 21:23:03.14ID:KHAHuAyj0 まぁいっか
おちんちんびろーん
おちんちんびろーん
832デフォルトの名無しさん (ワッチョイ 2b8e-A751)
2023/08/24(木) 21:40:52.41ID:Zzh0jzpS0 Excel搭載のPythonが古くてクソって言われる未来が見える
833デフォルトの名無しさん (ワッチョイ c946-6Yea)
2023/08/24(木) 22:12:13.69ID:whWZK/lb0834デフォルトの名無しさん (ワッチョイ 5105-D2YO)
2023/08/24(木) 22:16:44.91ID:JuHRNHof0835デフォルトの名無しさん (ワッチョイ 93bd-dU66)
2023/08/24(木) 23:21:58.79ID:/RAaAAMu0 Pythonは豊富なライブラリ使ってなんぼだから、
そっちの方向学んでいくとなるとめちゃくちゃに広い
そっちの方向学んでいくとなるとめちゃくちゃに広い
836デフォルトの名無しさん (テテンテンテン MM4b-irQe)
2023/08/24(木) 23:30:23.91ID:len+BldFM Pythonは外部ライブラリを使わない素の状態が最強
837デフォルトの名無しさん (ワッチョイ 7954-YAjS)
2023/08/24(木) 23:34:24.16ID:ERnyjfkQ0 何かツールを作って、ユーザが機能拡張できるようにする
関数とか変数を提供して、それを組み合わせてロジックを自由に作って貰う
そういう時のスクリプトの文法としてpythonは最適
classとかライブラリとかは無くても素直に書ける
関数とか変数を提供して、それを組み合わせてロジックを自由に作って貰う
そういう時のスクリプトの文法としてpythonは最適
classとかライブラリとかは無くても素直に書ける
838デフォルトの名無しさん (アウアウウー Sa45-hYs3)
2023/08/25(金) 12:30:22.74ID:uVWCvp2aa Excel上のPythonからExcelを操作する
839デフォルトの名無しさん (ワッチョイ 2b46-6Yea)
2023/08/25(金) 12:45:18.35ID:wAyzNZg/0 Excel上のPythonからOpenOfficeを操作できたりするのだろうか。
840デフォルトの名無しさん (アウアウウー Sa45-JDKz)
2023/08/25(金) 12:51:18.70ID:nyMvJkyga841デフォルトの名無しさん (ワッチョイ d311-hjB7)
2023/08/25(金) 15:49:25.26ID:ORSBbG2a0 minicondaもここでいいの?
842デフォルトの名無しさん (ワッチョイ 7101-glFA)
2023/08/25(金) 22:41:28.75ID:j9uNZFV/0 >>837
名前も文法もゲテモノだろ。早く消えてもらいたい。
名前も文法もゲテモノだろ。早く消えてもらいたい。
843デフォルトの名無しさん (ワッチョイ 2501-rkCq)
2023/08/30(水) 20:32:20.95ID:GMxyW1Ul0 enumerateが便利なんだけど使い倒してもいい?
i=0でi+=1で再帰とかした方がいいとか無いよね
i=0でi+=1で再帰とかした方がいいとか無いよね
844デフォルトの名無しさん (ワッチョイ 7954-dlFE)
2023/08/30(水) 21:05:50.79ID:lO/fHs/A0 大抵は、list_a[i]とlist_b[i]をセットで扱いたい時だからなあ
list[i].a と list[i].b の方が絶対素直
list[i].a と list[i].b の方が絶対素直
845デフォルトの名無しさん (ワッチョイ ca5c-4sYy)
2023/08/30(水) 21:28:34.25ID:s6yXhO480 emumerateは地獄の関数
無分別な使用は冥府魔道を行くことになる
無分別な使用は冥府魔道を行くことになる
846デフォルトの名無しさん (ワッチョイ 355f-sq9p)
2023/08/30(水) 23:58:43.22ID:G+IjVkrC0 具体的にはざっくりこういうことをしたんだけど
何かいい方法ないかな
items = [item1,item2,item3]
prms = [prm1,prm2,prm3]
# prms = [prm1]
max_prm_index = len(prms)-1
for i,item in enumerate(items):
item( prms[min(i,max_prm_index)] )
prmsがprm1の一個しかなかったら、itemsのitem全部にprm1を適用
prmsがitemsと同じ数だけ複数入ってたら、順番通りにitemsにprmsを適用
って感じ
もちろん場合分けでいいとは思うけど
再帰内にかぶる処理があるのでどうしたもんか
何かいい方法ないかな
items = [item1,item2,item3]
prms = [prm1,prm2,prm3]
# prms = [prm1]
max_prm_index = len(prms)-1
for i,item in enumerate(items):
item( prms[min(i,max_prm_index)] )
prmsがprm1の一個しかなかったら、itemsのitem全部にprm1を適用
prmsがitemsと同じ数だけ複数入ってたら、順番通りにitemsにprmsを適用
って感じ
もちろん場合分けでいいとは思うけど
再帰内にかぶる処理があるのでどうしたもんか
847デフォルトの名無しさん (ワッチョイ 0a01-x2nh)
2023/08/31(木) 00:48:42.81ID:+B6kd0y50848デフォルトの名無しさん (ワッチョイ 0a01-x2nh)
2023/08/31(木) 00:50:53.88ID:+B6kd0y50 prmsの最後の値を適用し続けたいということであれば
なるべくその意図を反映したコードにする
from more_itertools import repeat_last
zip(items, repeat_last(prms))
なるべくその意図を反映したコードにする
from more_itertools import repeat_last
zip(items, repeat_last(prms))
849デフォルトの名無しさん (ワッチョイ 86d6-xo/U)
2023/08/31(木) 00:55:23.28ID:f6H5fM910 more-itertoolsみたいな変なのを使うのが本当に望ましいのか疑問
850デフォルトの名無しさん (テテンテンテン MMde-4vSi)
2023/08/31(木) 07:00:46.66ID:Xf8Vje2bM こんだけ簡潔に書けるpythonてすごいなぁ
コードを文章として読んだ場合、はしょり過ぎてて誤解を招き安いのが玉に瑕
コードを文章として読んだ場合、はしょり過ぎてて誤解を招き安いのが玉に瑕
851デフォルトの名無しさん (ワッチョイ fe02-UwGr)
2023/08/31(木) 10:35:23.89ID:O9IKqF4q0 >場合はどうするの?
単にエラー吐いて終わり
>prmsの最後の値を
ではない
>そのmin(i, max_prm_index)でやってるように
は
prmsが1個の場合 → max_prm_index = 0
itemsを再帰したときの i → 0,1,2,,,,,,,,,,
min(i, max_prm_index)の値 → min(0,0)=0,min(1,0)=0,min(2,0)=0,,,,,,,
prmsが複数の場合 → 例max_prm_index = 2
itemsを再帰したときの i → 0,1,2
min(i, max_prm_index)の値 → min(0,2)=0,min(1,2)=1,min(2,2)=2
単にエラー吐いて終わり
>prmsの最後の値を
ではない
>そのmin(i, max_prm_index)でやってるように
は
prmsが1個の場合 → max_prm_index = 0
itemsを再帰したときの i → 0,1,2,,,,,,,,,,
min(i, max_prm_index)の値 → min(0,0)=0,min(1,0)=0,min(2,0)=0,,,,,,,
prmsが複数の場合 → 例max_prm_index = 2
itemsを再帰したときの i → 0,1,2
min(i, max_prm_index)の値 → min(0,2)=0,min(1,2)=1,min(2,2)=2
852デフォルトの名無しさん (ワッチョイ 4d9e-lN7b)
2023/08/31(木) 21:27:37.09ID:G16r3L3O0 uncompile6もdecompile3もpydumpckもmarshal使った逆シリアル化も
できないpycファイルの逆コンパイルどうやったらええんや
できないpycファイルの逆コンパイルどうやったらええんや
853デフォルトの名無しさん (ワッチョイ 3e01-x2nh)
2023/08/31(木) 22:28:08.13ID:bCA9PkL70 >>851
>単にエラー吐いて終わり
それなら場合分け必須なので1件の場合と要素数が一致してる場合を含めて
最初から分岐させたほうが効率的
min(i, max_prm_index)はprmsが2件でitemsが4件のときだと
(prms[0], item[0]), (prms[1], item[1]), (prms[1], item[2]), (prms[1], item[3])になるでしょ
つまり不足してる要素数分だけprmsの最後の要素を適用し続ける
そういう処理を意図してないならやめたほうがいい
あとループもしくはイテレートのことを再帰と呼んでない?
>単にエラー吐いて終わり
それなら場合分け必須なので1件の場合と要素数が一致してる場合を含めて
最初から分岐させたほうが効率的
min(i, max_prm_index)はprmsが2件でitemsが4件のときだと
(prms[0], item[0]), (prms[1], item[1]), (prms[1], item[2]), (prms[1], item[3])になるでしょ
つまり不足してる要素数分だけprmsの最後の要素を適用し続ける
そういう処理を意図してないならやめたほうがいい
あとループもしくはイテレートのことを再帰と呼んでない?
854デフォルトの名無しさん (ワッチョイ 6d01-JVr+)
2023/08/31(木) 23:27:03.60ID:MxLxGpNx0 >>853
>min(i, max_prm_index)はprmsが2件でitemsが4件のときだと
それは>>846の>prmsがitemsと同じ数だけ
とは違うしあなたが設定したルールだと思う
>あとループもしくはイテレートのことを再帰と呼んでない?
なにか問題が?
>最初から分岐させたほうが
全部を分岐するってこと?
>場合分け必須
から察するに、例えば
if itemsとprmsのチェック:
if prms複数の場合 and :
for item in items:
ここに処理
elif prmsひとつの場合:
for item in items:
ここに処理
みたいなことだろうか?
話はずれるけど前から条件分岐でこういうの疑問だったんだけど
if itemsとprmsチェック:
raise
if 条件:
pass
else:
pass
みたいなことってしないほうが良いのだろうか?
>>846では意図的にif itemsとprmsチェック:rase
の部分を(それ以降の処理に関係ないので)省略したんだけど
>min(i, max_prm_index)はprmsが2件でitemsが4件のときだと
それは>>846の>prmsがitemsと同じ数だけ
とは違うしあなたが設定したルールだと思う
>あとループもしくはイテレートのことを再帰と呼んでない?
なにか問題が?
>最初から分岐させたほうが
全部を分岐するってこと?
>場合分け必須
から察するに、例えば
if itemsとprmsのチェック:
if prms複数の場合 and :
for item in items:
ここに処理
elif prmsひとつの場合:
for item in items:
ここに処理
みたいなことだろうか?
話はずれるけど前から条件分岐でこういうの疑問だったんだけど
if itemsとprmsチェック:
raise
if 条件:
pass
else:
pass
みたいなことってしないほうが良いのだろうか?
>>846では意図的にif itemsとprmsチェック:rase
の部分を(それ以降の処理に関係ないので)省略したんだけど
855デフォルトの名無しさん (アウアウアー Sace-SPXT)
2023/08/31(木) 23:31:59.97ID:7sC80GbKa shutil周りを調べていて気になったのですが
更新日時や作成日時が引き継がれるような、Windowsの通常のファイル移動は
shutil.copy2()で実現できますか?
調べるとos.system()にcopyコマンドを投げる方法なども出てきました
少し気になったのですが、そもそもWindowsの標準的なファイル移動ってcopyコマンドと等価なのでしょうか?
更新日時や作成日時が引き継がれるような、Windowsの通常のファイル移動は
shutil.copy2()で実現できますか?
調べるとos.system()にcopyコマンドを投げる方法なども出てきました
少し気になったのですが、そもそもWindowsの標準的なファイル移動ってcopyコマンドと等価なのでしょうか?
856デフォルトの名無しさん (ワッチョイ 7954-dlFE)
2023/08/31(木) 23:42:37.28ID:VJWa/tTF0 os周りはわざわざimportして頑張ってもどうせ互換性なんか無いし、
コマンド実行するのが確実で簡単にやりたいことがやれる
コマンド実行するのが確実で簡単にやりたいことがやれる
857デフォルトの名無しさん (ワッチョイ 79c2-Ds1q)
2023/09/01(金) 00:25:46.36ID:r2cK95F90 ふと思ったけどすんごい重いファイルをpythonスクリプトでmvなりコピーしたときって
OS側?で処理してる間はpython側で並列作業になりそう
要はpython側で
重いファイルを移動する処理()
print("まだ移動し終わっていないのにここ実行される")
ってなってもええんか?
OS側?で処理してる間はpython側で並列作業になりそう
要はpython側で
重いファイルを移動する処理()
print("まだ移動し終わっていないのにここ実行される")
ってなってもええんか?
858デフォルトの名無しさん (ワッチョイ 3e01-x2nh)
2023/09/01(金) 00:46:42.98ID:wJDQ+FTE0 os.system()じゃなくてsubprocess.run()とか
asyncioのcreate_subprocess_exec()やcreate_subprocess_shell()で待ち受けて
asyncioのcreate_subprocess_exec()やcreate_subprocess_shell()で待ち受けて
859デフォルトの名無しさん (スプッッ Sdca-gPKC)
2023/09/01(金) 01:35:23.83ID:l7PfhcLtd860デフォルトの名無しさん (オイコラミネオ MM65-FN/f)
2023/09/01(金) 03:48:02.24ID:3/H3WgxVM861デフォルトの名無しさん (テテンテンテン MMde-4vSi)
2023/09/01(金) 06:58:42.11ID:K1CWe1BUM862デフォルトの名無しさん (ブーイモ MMea-AJnA)
2023/09/01(金) 07:21:36.52ID:SrdLFIhrM 半可通だな
863デフォルトの名無しさん (ワッチョイ 6a64-1PgI)
2023/09/01(金) 09:28:33.88ID:G4N8Tnic0 >>859
itemsが3つ、prmsが1つのとき結果はどうなった?
items = ["items","item2","item3"]
#prms = ["prm1","prm2","prm3"]
prms = ["prm1"]
if len(prms) == 1 or len(prms) == len(items):
for item,prm in zip(items,prms):
print(item,prm)
itemsが3つ、prmsが1つのとき結果はどうなった?
items = ["items","item2","item3"]
#prms = ["prm1","prm2","prm3"]
prms = ["prm1"]
if len(prms) == 1 or len(prms) == len(items):
for item,prm in zip(items,prms):
print(item,prm)
864デフォルトの名無しさん (ワッチョイ c110-gI6B)
2023/09/01(金) 10:30:26.13ID:JR96MCqK0 shutil.copy(), shutil.copy2(), shutil.copyfile():
これらのメソッドは、ファイルの内容をバイトで読み取り、
コピー先のファイルに書き込みます。
ファイルのサイズが大きい場合、このプロセスは時間がかかりますが、
Pythonは他のタスクをブロックせず、他の操作を進行させます。
os.systemを使用した場合
子シェルを作成し、そのシェルでコマンドを実行します。
ファイルのサイズが大きい場合、コピーに時間がかかりますが、
os.systemはコマンドの実行が完了するまでプログラムの実行をブロックします。
そのため、他の操作を進行させることはできません。
osモジュールを使用した場合
ファイルの内容をバイトで読み取り、コピー先のファイルに書き込むため、
ファイルのサイズが大きい場合、このプロセスは時間がかかります。
しかし、Pythonは他のタスクをブロックせず、他の操作を進行させます。
subprocessモジュールのrun関数を使用した場合
ファイルのサイズが大きい場合、コピーに時間がかかりますが、
subprocess.runはコマンドの実行が完了するまでプログラムの実行をブロックします。
そのため、他の操作を進行させることはできません。
subprocess.runは、デフォルトで子プロセスの標準出力と標準エラーを
親プロセスにリダイレクトします。
そのため、コピー中にエラーが発生した場合、
エラーメッセージは親プロセスに表示されます。
これらのメソッドは、ファイルの内容をバイトで読み取り、
コピー先のファイルに書き込みます。
ファイルのサイズが大きい場合、このプロセスは時間がかかりますが、
Pythonは他のタスクをブロックせず、他の操作を進行させます。
os.systemを使用した場合
子シェルを作成し、そのシェルでコマンドを実行します。
ファイルのサイズが大きい場合、コピーに時間がかかりますが、
os.systemはコマンドの実行が完了するまでプログラムの実行をブロックします。
そのため、他の操作を進行させることはできません。
osモジュールを使用した場合
ファイルの内容をバイトで読み取り、コピー先のファイルに書き込むため、
ファイルのサイズが大きい場合、このプロセスは時間がかかります。
しかし、Pythonは他のタスクをブロックせず、他の操作を進行させます。
subprocessモジュールのrun関数を使用した場合
ファイルのサイズが大きい場合、コピーに時間がかかりますが、
subprocess.runはコマンドの実行が完了するまでプログラムの実行をブロックします。
そのため、他の操作を進行させることはできません。
subprocess.runは、デフォルトで子プロセスの標準出力と標準エラーを
親プロセスにリダイレクトします。
そのため、コピー中にエラーが発生した場合、
エラーメッセージは親プロセスに表示されます。
865デフォルトの名無しさん (スフッ Sdea-v2/v)
2023/09/01(金) 12:48:44.57ID:5muTzi0Ed subprocess は popen とともに使うもの
run なんてしたら subprocess の意味ない
初心者が誤解する嘘は良くない
run なんてしたら subprocess の意味ない
初心者が誤解する嘘は良くない
866デフォルトの名無しさん (ワッチョイ 7954-dlFE)
2023/09/01(金) 13:02:04.03ID:sF2bDDsj0 んなこたーない
非同期も同期も両方使う場所がある
非同期も同期も両方使う場所がある
867デフォルトの名無しさん (アウアウアー Sace-SPXT)
2023/09/01(金) 14:01:33.97ID:RO0UJfOQa >>864
詳細にありがとうございます
手続きの順序が前後したら大抵困るので
shutilよりもos.systemやsubprocessを使うべきという感じでしょうか
Windows標準のコピーもバイトを読んでバイトを書くという仕様なのでしょうか?
詳細にありがとうございます
手続きの順序が前後したら大抵困るので
shutilよりもos.systemやsubprocessを使うべきという感じでしょうか
Windows標準のコピーもバイトを読んでバイトを書くという仕様なのでしょうか?
868デフォルトの名無しさん (アウアウアー Sace-SPXT)
2023/09/01(金) 14:03:08.18ID:RO0UJfOQa すみません、Windows標準の移動も です
あちらは同じドライブ間のファイル移動だと一瞬で終わるので読み込み書き込みはしていないのかなと思ったのですが
あちらは同じドライブ間のファイル移動だと一瞬で終わるので読み込み書き込みはしていないのかなと思ったのですが
869デフォルトの名無しさん (ワッチョイ 7954-dlFE)
2023/09/01(金) 14:13:41.59ID:sF2bDDsj0 プログラムの動作が遅くなるのはIOが詰まってる場合が大半なので、
ボトルネック部分が100%働くように調節するとむっさ速くなる
ファイルのコピーは遅延書き込みでまだ完了してないのに先に進むことでさらに速くなる
ボトルネック部分が100%働くように調節するとむっさ速くなる
ファイルのコピーは遅延書き込みでまだ完了してないのに先に進むことでさらに速くなる
870デフォルトの名無しさん (ワッチョイ d95f-sVGh)
2023/09/01(金) 21:40:13.68ID:qVeR1pY40 >>868
同じドライブならファイルの中身を移動されるわけではなく、どこに格納されているかの位置情報を変えるだけだから速い。
同じドライブならファイルの中身を移動されるわけではなく、どこに格納されているかの位置情報を変えるだけだから速い。
871デフォルトの名無しさん (ワッチョイ 3354-g4sH)
2023/09/04(月) 13:47:18.73ID:nQJHAXPh0 コンストラクタの引数ってキーワード付きにできる?
872デフォルトの名無しさん (ワッチョイ 6f01-Mh06)
2023/09/04(月) 14:50:35.53ID:38Xoielz0 できるよ
873デフォルトの名無しさん (ワッチョイ 3354-g4sH)
2023/09/04(月) 15:07:41.79ID:nQJHAXPh0 あ、できた
試せばいいだけだな
ぐぐってもそんなサンプル無いから出来ないのかと思った
単に複数の変数を一つに束ねたい、というだけの理由でクラスを作る時に、
コンストラクタに値をずらずら並べて渡すことになるけど、
それを順序で管理するのはどう考えてもおかしいと思ってた
試せばいいだけだな
ぐぐってもそんなサンプル無いから出来ないのかと思った
単に複数の変数を一つに束ねたい、というだけの理由でクラスを作る時に、
コンストラクタに値をずらずら並べて渡すことになるけど、
それを順序で管理するのはどう考えてもおかしいと思ってた
874デフォルトの名無しさん (ワッチョイ cffb-nwCH)
2023/09/04(月) 16:47:03.86ID:VAGVSD2y0 そういうのはstruct使うといいかも
875デフォルトの名無しさん (ワッチョイ 3354-g4sH)
2023/09/04(月) 17:08:04.13ID:nQJHAXPh0 C言語だとstructだけど、pythonのはバイナリデータを扱う奴なのでは
876デフォルトの名無しさん (ワッチョイ cffb-nwCH)
2023/09/04(月) 17:20:17.40ID:VAGVSD2y0 c++のスレと間違えてたw
すまんね
すまんね
877デフォルトの名無しさん (ブーイモ MMc7-aOfx)
2023/09/04(月) 18:49:15.11ID:JKt5eAqLM >>873
リストをアンパックで渡せばスッキリ書ける
リストをアンパックで渡せばスッキリ書ける
878デフォルトの名無しさん (ワッチョイ b35f-PA83)
2023/09/04(月) 21:30:43.15ID:MbyPAFgv0 >>873
dataclassで簡略化できる
dataclassで簡略化できる
879デフォルトの名無しさん (ワッチョイ 4301-4OYV)
2023/09/05(火) 04:12:29.33ID:2K1Jd26A0 位置引数として渡された引数は関数内の処理の変数としては何という名前で渡されてるんでしょうか?
原理的に完全に無名ですか?
フレームの中では何かは付いてる?
原理的に完全に無名ですか?
フレームの中では何かは付いてる?
880デフォルトの名無しさん (ワッチョイ 9310-oCRc)
2023/09/08(金) 07:59:23.00ID:KCF1PxQr0 関数定義のパラメータ名?
881デフォルトの名無しさん (ワッチョイ e305-+GqY)
2023/09/08(金) 09:20:44.03ID:8IHmD7Ej0 お詳しい方ご教示ください。
@Pythonのライブラリxlwingsで、ピボットテーブルを更新したいと思っています。
A今、FILE.xlsxには「Sheet1」にデータ、「Sheet2」にピボットテーブル(Pivottable1)が入力されています。
B以下のようにプログラムを組みました。
import xlwings as xw
app_excel = xw.App(visible = True)
wbook = xw.Book('FILE.xlsx')
wbook.sheets['Sheet2'].select()
wbook.api.ActiveSheet.PivotTables('Pivottable1').PivotCache().refresh()
wbook.save()
wbook.close()
Cエクエルは立ち上がるのですが、ピボットテーブルは更新されずにそのまま止まってしまいます。
どなたか原因を教えて頂けますでしょうか。
Pythonは3.10、Windows10を使用しています。
よろしくお願いします。
@Pythonのライブラリxlwingsで、ピボットテーブルを更新したいと思っています。
A今、FILE.xlsxには「Sheet1」にデータ、「Sheet2」にピボットテーブル(Pivottable1)が入力されています。
B以下のようにプログラムを組みました。
import xlwings as xw
app_excel = xw.App(visible = True)
wbook = xw.Book('FILE.xlsx')
wbook.sheets['Sheet2'].select()
wbook.api.ActiveSheet.PivotTables('Pivottable1').PivotCache().refresh()
wbook.save()
wbook.close()
Cエクエルは立ち上がるのですが、ピボットテーブルは更新されずにそのまま止まってしまいます。
どなたか原因を教えて頂けますでしょうか。
Pythonは3.10、Windows10を使用しています。
よろしくお願いします。
882デフォルトの名無しさん (ワッチョイ 4301-A0va)
2023/09/08(金) 10:41:30.46ID:CadaQfwJ0 import xlwings as xw
# Excelアプリケーションを表示しない場合は、visible=Falseに設定
app_excel = xw.App(visible=False)
try:
# ワークブックを開く
wbook = xw.Book('FILE.xlsx')
# シート2を選択
sheet2 = wbook.sheets['Sheet2']
sheet2.select()
# ピボットテーブルを更新
pivot_table = sheet2.api.PivotTables('Pivottable1')
pivot_table.refresh()
# ワークブックを保存
wbook.save()
finally:
# ワークブックを閉じ、Excelアプリケーションを終了
wbook.close()
app_excel.quit()
# Excelアプリケーションを表示しない場合は、visible=Falseに設定
app_excel = xw.App(visible=False)
try:
# ワークブックを開く
wbook = xw.Book('FILE.xlsx')
# シート2を選択
sheet2 = wbook.sheets['Sheet2']
sheet2.select()
# ピボットテーブルを更新
pivot_table = sheet2.api.PivotTables('Pivottable1')
pivot_table.refresh()
# ワークブックを保存
wbook.save()
finally:
# ワークブックを閉じ、Excelアプリケーションを終了
wbook.close()
app_excel.quit()
883デフォルトの名無しさん (テテンテンテン MM7f-RCwf)
2023/09/08(金) 10:54:24.65ID:CRh3f5WxM ココで聞くよりAI添削した方が早いだろ
884デフォルトの名無しさん (アウアウウー Sae7-fXI3)
2023/09/08(金) 11:09:50.09ID:Qwh1dPVPa excel の話題は 「excel python スレ」 でやってほしいな
885デフォルトの名無しさん (ワッチョイ 3354-g4sH)
2023/09/08(金) 11:35:25.91ID:Zl2xH9PI0 pythonからexcelへのアプローチはxlwingsとopenpyxlの2つがあって、
openpyxlはpythonの内容だけど、xlwingsはもうexcelというかVBAの内容なんだよな
どうしても駄目な部分以外はopenpyxlで頑張る方が幸せになれる
openpyxlはpythonの内容だけど、xlwingsはもうexcelというかVBAの内容なんだよな
どうしても駄目な部分以外はopenpyxlで頑張る方が幸せになれる
886デフォルトの名無しさん (ワッチョイ cffb-CbtY)
2023/09/08(金) 11:40:03.94ID:pGmKehjU0 pandasでやれ
887デフォルトの名無しさん (ワッチョイ e305-+GqY)
2023/09/08(金) 11:46:30.25ID:8IHmD7Ej0 ご回答ありがとうございます。
ご教示頂いたとおりにやってみましたが
「・・object has no attribute 'refresh'」
「pywintypes.com_error: (-2147352570, '名前が不明です。', None, None)」
とエラーが出ました。
これ以降は「excel python スレ」で伺ってみます。
お手数をおかけしました。
ご教示頂いたとおりにやってみましたが
「・・object has no attribute 'refresh'」
「pywintypes.com_error: (-2147352570, '名前が不明です。', None, None)」
とエラーが出ました。
これ以降は「excel python スレ」で伺ってみます。
お手数をおかけしました。
888デフォルトの名無しさん (ワッチョイ 3354-g4sH)
2023/09/08(金) 11:50:04.72ID:Zl2xH9PI0 pandasが別にexcelの機能を持ってる訳ではなくて、openpyxlのラッパーなだけ
そしてpandasを通すとインデックスとか付いた変なデータ構造を扱わないといけなくなる
そしてpandasを通すとインデックスとか付いた変なデータ構造を扱わないといけなくなる
889デフォルトの名無しさん (テテンテンテン MM7f-RCwf)
2023/09/08(金) 15:54:50.44ID:CRh3f5WxM そのエラーでピンと来ないならVBAでいいだろう
890デフォルトの名無しさん (ワッチョイ e346-ADg4)
2023/09/08(金) 18:01:03.69ID:hn6Lo9vu0 ピンと来るなら、もったいぶらず、教えてあげると良いじゃない。
891デフォルトの名無しさん (ワッチョイ 7f11-+3En)
2023/09/08(金) 19:42:42.46ID:l/IaMtio0 何でもかんでも教えるのは良くない
892デフォルトの名無しさん (ワッチョイ cf8e-u/UL)
2023/09/08(金) 20:44:45.69ID:kFel51fR0 5chで質問者の成長とか考える必要ない
どんな奴か分からないから
どんな奴か分からないから
893デフォルトの名無しさん (アウアウウー Sa47-Bpt5)
2023/09/09(土) 00:17:57.19ID:zaCXHBrVa こんな事も分からないの?
痴呆症を疑うレベルw
エラーメッセージ
object has no attribute 'refresh'
# ピボットテーブルを更新
pivot_table = sheet2.api.PivotTables('Pivottable1')
pivot_table.refresh()
痴呆症を疑うレベルw
エラーメッセージ
object has no attribute 'refresh'
# ピボットテーブルを更新
pivot_table = sheet2.api.PivotTables('Pivottable1')
pivot_table.refresh()
894デフォルトの名無しさん (ワッチョイ b346-dpy9)
2023/09/09(土) 07:47:14.73ID:ZW9tstmG0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相、トランプ米大統領に「早期に会いたい」 日中関係悪化受け… ★4 [BFU★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★5 [Hitzeschleier★]
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 「これいいじゃん!!!」 セブン-イレブンの1620円で買える“1人用クリスマスケーキ”🎂に注目殺到「天才すぎる」 [パンナ・コッタ★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 ★2 [Hitzeschleier★]
- 【高市速報】中国、最後通牒 [308389511]
- 好きなAV女優が倉本すみれ、柏木こなつ、松本いちかだが
- 【速報】テレビ朝日本社から20代〜30代の男性が飛び降り自殺して死亡 東京・六本木 [597533159]
- お前らダウナー系だよな
- 現役JKのお茶会スレ( ¨̮ )︎︎𖠚ᐝ182
- 東京の家賃安くね?
