当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。
「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。
★エラーを解決したい場合★は、
表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。
Pythonの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★
【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、
プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/ Run Code機能あり。
ttp://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Python公式◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi
〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その53
https://mevius.5ch.net/test/read.cgi/tech/1615846784/
次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
探検
【まず1嫁】くだすれPython(超初心者用) その54
レス数が900を超えています。1000を超えると表示できなくなるよ。
2021/06/09(水) 21:05:44.61ID:zRBfpo4e
832デフォルトの名無しさん
2021/09/11(土) 18:59:07.20ID:Dj6rAQzj >>831
LinuxとかMac環境で実行しようとしてるなら
python test.py ⇒Python2で実行する
python3 test.py ⇒Pyhthon3で実行する
っていう動きになる
とりあえずpython3 --version
を使って、そもそもpythonの3系が入ってるかを見た方が良い
入ってたら必要なライブラリをpython3 pip install〜で入れればOK
LinuxとかMac環境で実行しようとしてるなら
python test.py ⇒Python2で実行する
python3 test.py ⇒Pyhthon3で実行する
っていう動きになる
とりあえずpython3 --version
を使って、そもそもpythonの3系が入ってるかを見た方が良い
入ってたら必要なライブラリをpython3 pip install〜で入れればOK
833デフォルトの名無しさん
2021/09/11(土) 19:02:25.20ID:A67k4NSD834デフォルトの名無しさん
2021/09/12(日) 02:01:20.44ID:ysmJ7kfO linuxなんかだと、pip3とかできないの?
835デフォルトの名無しさん
2021/09/12(日) 11:08:57.22ID:PNU8wIel > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
836デフォルトの名無しさん
2021/09/15(水) 19:05:12.55ID:0q0CE+HI スクレイピングすると地獄へ落ちるって本当ですか?
837デフォルトの名無しさん
2021/09/15(水) 20:38:57.55ID:IoiHiFbB 392 名前: デフォルトの名無しさん (ワッチョイ 696a-dGLa) [sage] 投稿日: 2021/09/15(水) 19:01:39.47 ID:fHmj5hYp0
スクレイピングすると地獄へ落ちるって本当ですか?
9 名前: デフォルトの名無しさん (ワッチョイ 696a-dGLa) [sage] 投稿日: 2021/09/15(水) 19:02:48.45 ID:fHmj5hYp0
スクレイピングすると地獄へ落ちるって本当ですか?
294 名前: デフォルトの名無しさん (ワッチョイ e57f-dGLa) [sage] 投稿日: 2021/09/15(水) 19:07:23.60 ID:0q0CE+HI0
スクレイピングすると地獄へ落ちるって本当ですか?
スクレイピングすると地獄へ落ちるって本当ですか?
9 名前: デフォルトの名無しさん (ワッチョイ 696a-dGLa) [sage] 投稿日: 2021/09/15(水) 19:02:48.45 ID:fHmj5hYp0
スクレイピングすると地獄へ落ちるって本当ですか?
294 名前: デフォルトの名無しさん (ワッチョイ e57f-dGLa) [sage] 投稿日: 2021/09/15(水) 19:07:23.60 ID:0q0CE+HI0
スクレイピングすると地獄へ落ちるって本当ですか?
838デフォルトの名無しさん
2021/09/16(木) 00:25:58.50ID:i5BIJ4kk 君の人生はもう地獄行きが確定してそうだから不安がるなよ
839デフォルトの名無しさん
2021/09/16(木) 09:38:24.19ID:I3VTO38j 5ちゃんに一日1000回書き込むと極楽浄土が約束されます
840デフォルトの名無しさん
2021/09/16(木) 12:46:14.58ID:AVL/loTg sphinxのスレってwebpg板にもweb製作板にもここにも無いのか
841デフォルトの名無しさん
2021/09/16(木) 12:56:20.01ID:ebDt5W+H 1)abc
みたいな文字列を")"の位置でsplitで分割したいとき、
1) と abc
のように分割文字も残したい場合、スマートな方法ありますか?
)でsplitして後から )を足す、という方法もあるかと思いますがなんかスマートでは無いですよね
re.splitならできるのかな?
みたいな文字列を")"の位置でsplitで分割したいとき、
1) と abc
のように分割文字も残したい場合、スマートな方法ありますか?
)でsplitして後から )を足す、という方法もあるかと思いますがなんかスマートでは無いですよね
re.splitならできるのかな?
842デフォルトの名無しさん
2021/09/16(木) 14:15:16.89ID:AVL/loTg re.findallでやってる例がググられた
843デフォルトの名無しさん
2021/09/16(木) 14:18:35.84ID:Q5AMtJ/i re.findall(r'(.+\))(.*)', '1)abc')
[('1)', 'abc')]
[('1)', 'abc')]
844デフォルトの名無しさん
2021/09/16(木) 14:22:48.45ID:AVL/loTg と思ったらそのサイトの下のほうに
python3.7からre.split()で行けると
a="alpha,beta,gamma"
import re
re.split("(?<=,)",a)
python3.7からre.split()で行けると
a="alpha,beta,gamma"
import re
re.split("(?<=,)",a)
845デフォルトの名無しさん
2021/09/16(木) 17:59:54.65ID:13aXyCX3 CentOS7(armv7l)
python3.6
/usr/localにgcc10.1.0インストールして/usr/lib/libstdc++.so.6を6.0.19→6.0.28に張り替えてある
pandasのバージョン下げたりしてみたけどimportの段階で駄目でした
誰か原因分かりますか?
$ LD_PRELOAD=/usr/local/lib/libstdc++.so.6 pipenv run python3 test.py
成功
$ pipenv run python3 test.py
失敗
…
import pandas._libs.window.aggregations as window_aggregations
ImportError: /usr/local/lib/libstdc++.so.6: undefined symbol: libiconv
<test.py>
import pandas as pd
url = 'ヤフーファイナンスのurl'
print(pd.read_html(url))
$ ls -l /usr/local/lib/libstdc++.so.6
/usr/local/lib/libstdc++.so.6 -> libstdc++.so.6.0.28
python3.6
/usr/localにgcc10.1.0インストールして/usr/lib/libstdc++.so.6を6.0.19→6.0.28に張り替えてある
pandasのバージョン下げたりしてみたけどimportの段階で駄目でした
誰か原因分かりますか?
$ LD_PRELOAD=/usr/local/lib/libstdc++.so.6 pipenv run python3 test.py
成功
$ pipenv run python3 test.py
失敗
…
import pandas._libs.window.aggregations as window_aggregations
ImportError: /usr/local/lib/libstdc++.so.6: undefined symbol: libiconv
<test.py>
import pandas as pd
url = 'ヤフーファイナンスのurl'
print(pd.read_html(url))
$ ls -l /usr/local/lib/libstdc++.so.6
/usr/local/lib/libstdc++.so.6 -> libstdc++.so.6.0.28
846デフォルトの名無しさん
2021/09/16(木) 18:14:47.89ID:TQVwbqUl nm でそのlibをスキャンしてみたら?
libiconvはどこにつながっている?
libiconvはどこにつながっている?
847デフォルトの名無しさん
2021/09/16(木) 18:59:56.78ID:13aXyCX3 >>846
libiconvはUで確かに未定義でした
libiconvはUで確かに未定義でした
848デフォルトの名無しさん
2021/09/16(木) 23:14:17.32ID:KHTFd4df pyton3上で地図に棒グラフを立てたいと思い、cesiumpyにたどり着きました。
インストール後、import cesiumpyを実行したことろ、
AttributeError: partially initialized module 'cesiumpy' has no attribute 'data' (most likely due to a circular import)
と出ます。回避方法等ご教示くださいませ。
インストール後、import cesiumpyを実行したことろ、
AttributeError: partially initialized module 'cesiumpy' has no attribute 'data' (most likely due to a circular import)
と出ます。回避方法等ご教示くださいませ。
849デフォルトの名無しさん
2021/09/16(木) 23:18:50.22ID:wbqs1W10 マイナーなライブラリについて質問しても答えてくれる人いないよ
circular importとか書かれてるけど、まさかそのファイル名がcesiumpy.pyだったりしないよね
circular importとか書かれてるけど、まさかそのファイル名がcesiumpy.pyだったりしないよね
850デフォルトの名無しさん
2021/09/16(木) 23:31:37.25ID:KHTFd4df851デフォルトの名無しさん
2021/09/17(金) 08:59:56.61ID:UtF7UwZj >>848
dependencyは満たしているか?
dependencyは満たしているか?
852デフォルトの名無しさん
2021/09/18(土) 01:57:16.35ID:lb+sAgRD スクレイピングの勉強するのですが、下手するとF5アタックになるとかの法的リスクと回避法を重視している入門書ってありますか?
今の所やりたいことは、特定の市町村の5年分気温気象データを収集して自分用に加工
近所のコインランドリーの稼働データを集計して空いてる確率が高い時間帯を調べるの2つです
前者は膨大なデータを取得する必要があります
後者は10分から20分おきにアクセスすることになります
今の所やりたいことは、特定の市町村の5年分気温気象データを収集して自分用に加工
近所のコインランドリーの稼働データを集計して空いてる確率が高い時間帯を調べるの2つです
前者は膨大なデータを取得する必要があります
後者は10分から20分おきにアクセスすることになります
853デフォルトの名無しさん
2021/09/18(土) 02:04:45.09ID:75qnM2AM854デフォルトの名無しさん
2021/09/18(土) 08:28:17.55ID:bA/qQPAi >コインランドリーの稼働データを集計して空いてる確率が高い時間帯
台風の最中は空いてそうだ
台風の最中は空いてそうだ
855デフォルトの名無しさん
2021/09/18(土) 08:29:01.24ID:BxqtlgPJ 正攻法は>>853だけど裏技的にやるんだったらMVNOのSIM契約してipとかUAを変えながらスクレイピング。
向こうも機械アクセスだと気づきにくくなる。
ただカムフラしてまでやろうとしたということで相手に迷惑かけるかもって気持ちが入ることになるから訴えられたときには不利になる。
向こうも機械アクセスだと気づきにくくなる。
ただカムフラしてまでやろうとしたということで相手に迷惑かけるかもって気持ちが入ることになるから訴えられたときには不利になる。
856デフォルトの名無しさん
2021/09/18(土) 08:41:27.45ID:+7IeVSKz >>852
図書館の例があるから無許可はもう何しても危ないよねっていうのが共通認識だと思うよ
図書館の例があるから無許可はもう何しても危ないよねっていうのが共通認識だと思うよ
857デフォルトの名無しさん
2021/09/18(土) 09:09:44.75ID:2a7FPWkS フォルダ内のファイルをenumerate()で一括連番リネームします
リネーム後の名前が既存かもしれないとき
1回目のループでexistsならパスとリネームを記録,大丈夫ならリネーム
2回目のループで記録したパスをリネーム
これで重複回避して全件リネームできますか?
手元ではできてる気がするんだけど,例外パターンがあるような気がする
(windowsのロングパスとか編集不可属性とか並び順の話は置いといてください)
--
元 : 新
000.txt → 1.txt
00.txt → 2.txt
1.txt → 3.txt
3.txt → 4.txt
こういうことがしたいのです
リネーム後の名前が既存かもしれないとき
1回目のループでexistsならパスとリネームを記録,大丈夫ならリネーム
2回目のループで記録したパスをリネーム
これで重複回避して全件リネームできますか?
手元ではできてる気がするんだけど,例外パターンがあるような気がする
(windowsのロングパスとか編集不可属性とか並び順の話は置いといてください)
--
元 : 新
000.txt → 1.txt
00.txt → 2.txt
1.txt → 3.txt
3.txt → 4.txt
こういうことがしたいのです
858デフォルトの名無しさん
2021/09/18(土) 09:33:30.24ID:jUwIv+ht e.txtがすでに存在していたらどうするん?
859デフォルトの名無しさん
2021/09/18(土) 09:34:02.57ID:jUwIv+ht 3.txtの間違い
860デフォルトの名無しさん
2021/09/18(土) 09:44:49.40ID:lb+sAgRD >>853-856
回答ありがとうございます
心配性なので許可を取る以外のリスク回避策も知りたいのです
例えば、プログラム書いてもバグでF5アタックレベルの猛烈なアクセスをすることってありえますよね
そういうのが起きないような安全装置の作り方
自前で作ったサーバにも同時にアクセスしてアクセス頻度を証明するログを取る(v6共有IP巻き添え捜査対策)
何らかの理由で訴えられたとき勝つための材料を集めておく
などの方法を教えてくれる書籍がないかと探しています
回答ありがとうございます
心配性なので許可を取る以外のリスク回避策も知りたいのです
例えば、プログラム書いてもバグでF5アタックレベルの猛烈なアクセスをすることってありえますよね
そういうのが起きないような安全装置の作り方
自前で作ったサーバにも同時にアクセスしてアクセス頻度を証明するログを取る(v6共有IP巻き添え捜査対策)
何らかの理由で訴えられたとき勝つための材料を集めておく
などの方法を教えてくれる書籍がないかと探しています
861デフォルトの名無しさん
2021/09/18(土) 09:46:54.79ID:BxqtlgPJ .netだとtempのファイル名を持ってくるメソッドがあったな。
個人用途でリネーム中に他人がファイル名を変更するという懸念がない条件ならランダム英数字の中間ファイル名を経由してリネームすればいいんじゃない?
企業ユースとかでしっかりやる必要のある処理かつリネーム中の障害とかまで考えるなら安直なリネームは処理中の状態が不安定だから禁忌だと言われるね。
ファイルコピーすると同時に名称変更してリネーム後のファイル群を作り完成したところで元ファイルを削除みたいな動作にする。
(もちろんスピードやディスク容量とかの要件とも相談)
個人用途でリネーム中に他人がファイル名を変更するという懸念がない条件ならランダム英数字の中間ファイル名を経由してリネームすればいいんじゃない?
企業ユースとかでしっかりやる必要のある処理かつリネーム中の障害とかまで考えるなら安直なリネームは処理中の状態が不安定だから禁忌だと言われるね。
ファイルコピーすると同時に名称変更してリネーム後のファイル群を作り完成したところで元ファイルを削除みたいな動作にする。
(もちろんスピードやディスク容量とかの要件とも相談)
862デフォルトの名無しさん
2021/09/18(土) 09:56:28.76ID:dDlDUvsj 対象フォルダにtmpフォルダ作ってそこにリネームして入れていけばいいんじゃ
863デフォルトの名無しさん
2021/09/18(土) 09:56:58.79ID:9Dfq3hh+ >>857
その方法だと下の3行のリネームも無理じゃね
0.txt→ 1.txt
1.txt→ 2.txt
2.txt→ 3.txt
俺は、1回目でリネームできないときは
uuid.uuid4().hex を付加してリネームして
2回目で、uuid.uuid4().hexを付加したファイルを、目的のファイル名にリネームしてる
その方法だと下の3行のリネームも無理じゃね
0.txt→ 1.txt
1.txt→ 2.txt
2.txt→ 3.txt
俺は、1回目でリネームできないときは
uuid.uuid4().hex を付加してリネームして
2回目で、uuid.uuid4().hexを付加したファイルを、目的のファイル名にリネームしてる
864デフォルトの名無しさん
2021/09/18(土) 10:04:11.39ID:bA/qQPAi >>857
000.txt -> 1.txt -> 2.txt -> 3.txt -> ... って無限に繰り返す危険は0と言い切れる?
000.txt -> 1.txt -> 2.txt -> 3.txt -> ... って無限に繰り返す危険は0と言い切れる?
865デフォルトの名無しさん
2021/09/18(土) 10:44:49.91ID:2a7FPWkS >>863
あーそうか…
じゃあexistsのときはunique_suffix付きでリネームして
最終的にケツ削る感じにします
uuid知らなかったんですが、いいですねこれ
今回は259文字制限下なのでアレだけど勉強になりました
あーそうか…
じゃあexistsのときはunique_suffix付きでリネームして
最終的にケツ削る感じにします
uuid知らなかったんですが、いいですねこれ
今回は259文字制限下なのでアレだけど勉強になりました
866デフォルトの名無しさん
2021/09/18(土) 12:17:29.33ID:9Dfq3hh+867デフォルトの名無しさん
2021/09/18(土) 13:21:25.11ID:IiEq2a0h >>852
素人は、本番サーバーでテストしてはいけない。
素人のアプリは、バグで無限ループして、何万回もアクセスするから
必ずダウンロードして、自分のPC 内でテストしないといけない
それと本番サーバーに、100回とか繰り返しアクセスする場合は、
必ず、相手のrobots.txt を遵守すること!
または、相手と契約して、API を使うこと
基本、スクレイピングは営業妨害との戦い。
どの本にも、そう書いてある。
スクレイピングを推奨する本はない
必ず、robots.txt 遵守か、許可を得る、または契約すべき
山浦清透、2021/6
【作業工程フル公開】エンジニアが30万円案件の制作過程を公開
www.youtube.com/watch?v=tYbVl6N8oxI
この動画では、Laravel で、マイナビ転職をスクレイピングしている。
27:40 から、robots.txt を調べている
素人は、本番サーバーでテストしてはいけない。
素人のアプリは、バグで無限ループして、何万回もアクセスするから
必ずダウンロードして、自分のPC 内でテストしないといけない
それと本番サーバーに、100回とか繰り返しアクセスする場合は、
必ず、相手のrobots.txt を遵守すること!
または、相手と契約して、API を使うこと
基本、スクレイピングは営業妨害との戦い。
どの本にも、そう書いてある。
スクレイピングを推奨する本はない
必ず、robots.txt 遵守か、許可を得る、または契約すべき
山浦清透、2021/6
【作業工程フル公開】エンジニアが30万円案件の制作過程を公開
www.youtube.com/watch?v=tYbVl6N8oxI
この動画では、Laravel で、マイナビ転職をスクレイピングしている。
27:40 から、robots.txt を調べている
868デフォルトの名無しさん
2021/09/18(土) 13:56:07.34ID:LBCfu3j9 どの本にも〜とか言う割に本は挙げないのな
869デフォルトの名無しさん
2021/09/18(土) 15:25:34.95ID:ZDaB5e5K selenium(ChromeDriver)で
すでにbuttonのWebElementまで取得している状態で、単にそれがクリック可能になるまで待つときはどう書けばいいの?
イメージは↓こんなだけどWebElementは引数に与えられないみたい。
WebDriverWait(driver, 5).until(
EC.element_to_be_clickable(button)
)
すでにbuttonのWebElementまで取得している状態で、単にそれがクリック可能になるまで待つときはどう書けばいいの?
イメージは↓こんなだけどWebElementは引数に与えられないみたい。
WebDriverWait(driver, 5).until(
EC.element_to_be_clickable(button)
)
870デフォルトの名無しさん
2021/09/18(土) 15:34:01.38ID:aJjTmiOO 改めて locator を与えればいいんじゃね?
871デフォルトの名無しさん
2021/09/18(土) 15:58:23.33ID:9lUPAjpA ある条件を満たした時にプログラムを再起動したくて
subprocess.call(__file__, shell=True)
と記述してるんですが挙動がおかしいです
どうおかしいのかと言うと、プログラムを強制終了したい箇所で
sys.exit()
と記述してるんですが、そこでも再起動されてしまいます
どう改善したら良いでしょうか
subprocess.call(__file__, shell=True)
と記述してるんですが挙動がおかしいです
どうおかしいのかと言うと、プログラムを強制終了したい箇所で
sys.exit()
と記述してるんですが、そこでも再起動されてしまいます
どう改善したら良いでしょうか
872デフォルトの名無しさん
2021/09/18(土) 16:03:37.86ID:ZDaB5e5K >>870
WebElementオブジェクトからlocarorって取得可能?
今回のbuttonが、findで一意に特定できないエレメントだから、Waitの例でネットによく書いてあるBy.xxxの書き方だと、複数のbuttonがWaitの対象になってしまうんだよね
特定の1つのエレメントだけをwaitの対象にしたいのだが
WebElementオブジェクトからlocarorって取得可能?
今回のbuttonが、findで一意に特定できないエレメントだから、Waitの例でネットによく書いてあるBy.xxxの書き方だと、複数のbuttonがWaitの対象になってしまうんだよね
特定の1つのエレメントだけをwaitの対象にしたいのだが
873871
2021/09/18(土) 16:03:39.53ID:9lUPAjpA >>871の補足です
subprocess.call(__file__, shell=True)
で、一度再起動した後で、
sys.exit()
を実行すると、強制終了しないで再起動してしまう挙動を何とかしたいということです
subprocess.call(__file__, shell=True)
で、一度再起動した後で、
sys.exit()
を実行すると、強制終了しないで再起動してしまう挙動を何とかしたいということです
874デフォルトの名無しさん
2021/09/18(土) 16:17:13.98ID:9lUPAjpA875デフォルトの名無しさん
2021/09/18(土) 17:09:13.84ID:jUwIv+ht どう解決したのか書くのが礼儀やで
876デフォルトの名無しさん
2021/09/18(土) 18:13:33.17ID:J85RgKD5 頭のおかしい人に以下のようなことを言われました
>>基本、スクレイピングは営業妨害との戦い。
>>どの本にも、そう書いてある。
>>スクレイピングを推奨する本はない
具体的な書籍名を教えてください
>>5ch は、マルチポスト禁止!
>>同じ質問を、複数のスレや外部のサイトに書いてはいけない
どこでそんなルールが決まっているのでしょうか?
>>基本、スクレイピングは営業妨害との戦い。
>>どの本にも、そう書いてある。
>>スクレイピングを推奨する本はない
具体的な書籍名を教えてください
>>5ch は、マルチポスト禁止!
>>同じ質問を、複数のスレや外部のサイトに書いてはいけない
どこでそんなルールが決まっているのでしょうか?
877デフォルトの名無しさん
2021/09/18(土) 18:30:17.02ID:6JilEPez マルチポストすんな
878デフォルトの名無しさん
2021/09/18(土) 18:53:11.55ID:b0edjBZj >>876
お前頭悪そうだな
お前頭悪そうだな
879デフォルトの名無しさん
2021/09/18(土) 18:54:45.08ID:+/kaLHzE880デフォルトの名無しさん
2021/09/19(日) 04:35:52.74ID:rCAdh0cW881デフォルトの名無しさん
2021/09/19(日) 05:44:05.93ID:yvbuOcQZ 肉塊って何?
882デフォルトの名無しさん
2021/09/19(日) 06:35:05.82ID:XiUCEd2G >>872
カスタム待機条件を作って elem.is_enabled() を返すのは?
カスタム待機条件を作って elem.is_enabled() を返すのは?
883デフォルトの名無しさん
2021/09/19(日) 15:05:50.16ID:snblcpQq884デフォルトの名無しさん
2021/09/22(水) 08:26:17.31ID:ykk+hhl9 Python3.9.7で、テキストボックスに右クリックメニューをつけたいのですがうまくいきません
input1 = tk.Entry(root,textvariable = x1_str, width = 5)
def show_right_click_menu(e):
____w = e.widget
____right_click_menu.entryconfigure("切り取り",
____command=lambda: w.event_generate("<<Cut>>"))
____right_click_menu.entryconfigure("コピー",
____command=lambda: w.event_generate("<<Copy>>"))
____right_click_menu.entryconfigure("貼り付け",
____command=lambda: w.event_generate("<<Paste>>"))
____right_click_menu.entryconfigure("削除",
____command=lambda: None if 0 else w.delete(w.index("sel.first"),w.index("sel.last")))
____right_click_menu.entryconfigure("すべて選択",
____command=lambda: w.select_range(0, "end"))
____right_click_menu.tk.call("tk_popup", right_click_menu, e.x_root, e.y_root)
選択していない状態で削除を実行すると下記エラーがコンソールにでます
_tkinter.TclError: selection isn't in widget .!entry
エラーが表示されないようする方法をご教示いただけませんか
エラーが表示されるだけで問題なく動いていますが気持ち悪いので
input1 = tk.Entry(root,textvariable = x1_str, width = 5)
def show_right_click_menu(e):
____w = e.widget
____right_click_menu.entryconfigure("切り取り",
____command=lambda: w.event_generate("<<Cut>>"))
____right_click_menu.entryconfigure("コピー",
____command=lambda: w.event_generate("<<Copy>>"))
____right_click_menu.entryconfigure("貼り付け",
____command=lambda: w.event_generate("<<Paste>>"))
____right_click_menu.entryconfigure("削除",
____command=lambda: None if 0 else w.delete(w.index("sel.first"),w.index("sel.last")))
____right_click_menu.entryconfigure("すべて選択",
____command=lambda: w.select_range(0, "end"))
____right_click_menu.tk.call("tk_popup", right_click_menu, e.x_root, e.y_root)
選択していない状態で削除を実行すると下記エラーがコンソールにでます
_tkinter.TclError: selection isn't in widget .!entry
エラーが表示されないようする方法をご教示いただけませんか
エラーが表示されるだけで問題なく動いていますが気持ち悪いので
885デフォルトの名無しさん
2021/09/22(水) 16:50:16.15ID:wN494UoL pythonで、いわゆるDBのコネクションプールのような、限られた複数資源をプールにして使い回す基本的な仕組みって何かありますか?
DBで使うわけではないので汎用的なものを想定してます
たとえば資源として5つのインスタンスがあり、要求側はそれのいずれかが空いていれば排他的に1つのインスタンスを獲得し、すべて獲得済みの場合は任意の時間待機させる、というイメージです
要求側は必要な処理が終わればインスタンスをプールに返します
キューを使ってできそうな気がしますがもう少し実装しやすいものとかありますかね?
DBで使うわけではないので汎用的なものを想定してます
たとえば資源として5つのインスタンスがあり、要求側はそれのいずれかが空いていれば排他的に1つのインスタンスを獲得し、すべて獲得済みの場合は任意の時間待機させる、というイメージです
要求側は必要な処理が終わればインスタンスをプールに返します
キューを使ってできそうな気がしますがもう少し実装しやすいものとかありますかね?
886デフォルトの名無しさん
2021/09/22(水) 20:35:20.60ID:N9zBagLQ >>885
しったかで書く
PyPIで多数ヒットするけど逆にこれってのはないからインターフェイスの好みで選択
どうせ中身はQueueかdeque
DB接続でいうとドライバやミドルウェアにだいたい専用のが付いてくる
しったかで書く
PyPIで多数ヒットするけど逆にこれってのはないからインターフェイスの好みで選択
どうせ中身はQueueかdeque
DB接続でいうとドライバやミドルウェアにだいたい専用のが付いてくる
887デフォルトの名無しさん
2021/09/22(水) 23:15:37.85ID:rplKfx8l888デフォルトの名無しさん
2021/09/23(木) 01:31:50.40ID:ERg2ncYO Pythonも最近ではそんな真面目な用途でも使われそうな感じになってきてるのか。
おじさんびっくりだわ。
おじさんびっくりだわ。
889デフォルトの名無しさん
2021/09/23(木) 02:31:58.77ID:GanDJT5R 独学プログラマーを読んで勉強始めた方いますか?
Amazonレビュー見ると意味不明なURLや冗長な表現など初心者を惑わせる表記があるようで
初心者向けとは言えないような印象を受けますが、通しで読むとちゃんと初心者向けになってるのでしょうか?
Amazonレビュー見ると意味不明なURLや冗長な表現など初心者を惑わせる表記があるようで
初心者向けとは言えないような印象を受けますが、通しで読むとちゃんと初心者向けになってるのでしょうか?
890デフォルトの名無しさん
2021/09/23(木) 09:05:11.72ID:aonnyzzk self taught programmerは英語版をパラパラと眺めた程度だけど、悪い本じゃないと思う
どの教材にも欠点はあるから、多少のことは気にせずにさっさと取り掛かったほうが良いと思う
初心者が自分にとって完璧な教材を見つけるのは無理
他の本のほうが良さそうなら他のでもいいし、無料のweb教材でもいいし
どの教材にも欠点はあるから、多少のことは気にせずにさっさと取り掛かったほうが良いと思う
初心者が自分にとって完璧な教材を見つけるのは無理
他の本のほうが良さそうなら他のでもいいし、無料のweb教材でもいいし
891デフォルトの名無しさん
2021/09/23(木) 09:37:27.55ID:aonnyzzk ちなみに『独学プログラマー』は「自力でプログラムを覚えて仕事を始めるまで」が一番大きなテーマであって
pythonのことを手取り足取り教える目的で書かれたものではない
単純にpythonの基本を学びたいだけなら、もう少し狭い内容を扱った他の本が良いかもしれない
pythonのことを手取り足取り教える目的で書かれたものではない
単純にpythonの基本を学びたいだけなら、もう少し狭い内容を扱った他の本が良いかもしれない
892デフォルトの名無しさん
2021/09/23(木) 11:14:45.24ID:zah9lHsX そもそも独学出来るようなプログラマーならそんな本読まなくても出来るからな
893デフォルトの名無しさん
2021/09/23(木) 12:55:36.27ID:aonnyzzk >そもそも独学出来るようなプログラマーならそんな本読まなくても出来るからな
これはその通りで、基礎的なことは全部ネットに無料で落ちているので、わざわざ本を買う必要はない。
本で学ぶのが好き、って人もいるだろうから全否定するつもりはないけど。
これはその通りで、基礎的なことは全部ネットに無料で落ちているので、わざわざ本を買う必要はない。
本で学ぶのが好き、って人もいるだろうから全否定するつもりはないけど。
894デフォルトの名無しさん
2021/09/23(木) 13:12:18.93ID:3iEJN86R spring bootは本買わないと無理あのntt data様が出してる奴
895デフォルトの名無しさん
2021/09/23(木) 15:24:28.97ID:Hq81xlZ0896デフォルトの名無しさん
2021/09/23(木) 15:26:56.89ID:xxtNZLaL LAPP?
897デフォルトの名無しさん
2021/09/23(木) 15:40:45.97ID:w4tdfW/t ApacheもNginxに移行
898デフォルトの名無しさん
2021/09/23(木) 15:50:02.39ID:Ru7FlOs1 Apache も Nginx に移行してるから LNPP かな?
899デフォルトの名無しさん
2021/09/23(木) 15:55:26.37ID:Sp5Iyysf いまさらPostgresが主流になるような感じはしないがな。
DBMS全体でPostgresのシェアは上がってきているがMySQLも同様にシェアを拡大している。
そもそも普及率が倍くらい違うし。
DBMS全体でPostgresのシェアは上がってきているがMySQLも同様にシェアを拡大している。
そもそも普及率が倍くらい違うし。
900デフォルトの名無しさん
2021/09/23(木) 16:00:23.97ID:Hq81xlZ0 MySQLはOracle→MySQLに意図的にOracleが動いてるみたいね
901デフォルトの名無しさん
2021/09/23(木) 16:18:46.38ID:Ru7FlOs1 まあ倍半分違う(対数スケールなので注意してね)からそうそう主流が入れ替わることはないと思うけど PostgreSQL と MongoDB が頑張ってるな
https://news.mynavi.jp/article/20200403-1009423/images/002l.jpg
https://news.mynavi.jp/article/20200403-1009423/images/002l.jpg
902デフォルトの名無しさん
2021/09/23(木) 16:20:47.11ID:/gKnAjHi postgreSQLは最近覚えたけどそこまでメリットは感じない
pythonから叩くにあたってmysqlから面倒くさい部分は増えた
pythonから叩くにあたってmysqlから面倒くさい部分は増えた
903デフォルトの名無しさん
2021/09/23(木) 17:48:30.88ID:LWGez+JK pip listでsympyが確認できるのに
>>> import sympy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'sympy'
となるのはなぜですか?
>>> import sympy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'sympy'
となるのはなぜですか?
904デフォルトの名無しさん
2021/09/23(木) 18:00:58.85ID:3iEJN86R インタープリターに入らずにpip install sympyだって前ここで誰かが言ってた気がする
905デフォルトの名無しさん
2021/09/23(木) 18:05:30.32ID:cmFu96z6 実行したpipはver2系だったってのは(俺が)割とよくやるミス
906デフォルトの名無しさん
2021/09/23(木) 18:08:54.09ID:Hq81xlZ0 >>902
PostgreSQL用ドライバ必要だからな
PostgreSQL用ドライバ必要だからな
907デフォルトの名無しさん
2021/09/23(木) 18:23:39.46ID:QMUWvoXV908デフォルトの名無しさん
2021/09/23(木) 19:48:46.26ID:ERg2ncYO MySQLは単純かつ高速に動かしたい時は鉄板
909デフォルトの名無しさん
2021/09/23(木) 20:52:10.59ID:LWGez+JK910デフォルトの名無しさん
2021/09/23(木) 22:25:39.27ID:Ok65a0lv >>884
自己解決しました
def show_right_click_menu(e):
____w = e.widget
____def show_right_click_menu_delete():
________nonlocal w
________try:
____________w.delete(w.index("sel.first"),w.index("sel.last"))
________except:
____________pass
____right_click_menu.entryconfigure("切り取り",
____command=lambda: w.event_generate("<<Cut>>"))
____right_click_menu.entryconfigure("コピー",
____command=lambda: w.event_generate("<<Copy>>"))
____right_click_menu.entryconfigure("貼り付け",
____command=lambda: w.event_generate("<<Paste>>"))
____right_click_menu.entryconfigure("削除",
____command= show_right_click_menu_delete)
____right_click_menu.entryconfigure("すべて選択",
____command=lambda: w.select_range(0, "end"))
____right_click_menu.tk.call("tk_popup", right_click_menu, e.x_root, e.y_root)
tkinterがよく分からない
次は、undo redo をなんとかしたい
自己解決しました
def show_right_click_menu(e):
____w = e.widget
____def show_right_click_menu_delete():
________nonlocal w
________try:
____________w.delete(w.index("sel.first"),w.index("sel.last"))
________except:
____________pass
____right_click_menu.entryconfigure("切り取り",
____command=lambda: w.event_generate("<<Cut>>"))
____right_click_menu.entryconfigure("コピー",
____command=lambda: w.event_generate("<<Copy>>"))
____right_click_menu.entryconfigure("貼り付け",
____command=lambda: w.event_generate("<<Paste>>"))
____right_click_menu.entryconfigure("削除",
____command= show_right_click_menu_delete)
____right_click_menu.entryconfigure("すべて選択",
____command=lambda: w.select_range(0, "end"))
____right_click_menu.tk.call("tk_popup", right_click_menu, e.x_root, e.y_root)
tkinterがよく分からない
次は、undo redo をなんとかしたい
911デフォルトの名無しさん
2021/09/24(金) 00:17:26.60ID:wqDlteq1 >>867
レス遅れてしまい申し訳ありません
時間つくっていくつか書籍を立ち読みしてみましたが
訴えられる前提でスクレイピングする本は当たり前のようにありませんでした
テストサーバでプログラム作ってから、相手に連絡した上で動作させるのが最低限のマナーで
あとはもう自分で創意工夫して逮捕防ぐしか無いですね
レス遅れてしまい申し訳ありません
時間つくっていくつか書籍を立ち読みしてみましたが
訴えられる前提でスクレイピングする本は当たり前のようにありませんでした
テストサーバでプログラム作ってから、相手に連絡した上で動作させるのが最低限のマナーで
あとはもう自分で創意工夫して逮捕防ぐしか無いですね
912デフォルトの名無しさん
2021/09/24(金) 08:20:48.10ID:KibxKmAg >>730
このpython3.8だとproxy繋がるけど3.9だとダメになる問題は自分自身で解決しますた。
https://github.com/psf/requests/issues/5740
こことかそのリンク先に書いてある。
社内環境でセキュリティのためproxyでHTTPS通信を復号化してるんだけどそんな特定条件で起こるらしい。
.condarcのhttpsのproxyをサンプルを真似してhttps://hogehogeって書いてたけどhttpに修正したら繋がるようになった。
このpython3.8だとproxy繋がるけど3.9だとダメになる問題は自分自身で解決しますた。
https://github.com/psf/requests/issues/5740
こことかそのリンク先に書いてある。
社内環境でセキュリティのためproxyでHTTPS通信を復号化してるんだけどそんな特定条件で起こるらしい。
.condarcのhttpsのproxyをサンプルを真似してhttps://hogehogeって書いてたけどhttpに修正したら繋がるようになった。
913デフォルトの名無しさん
2021/09/24(金) 08:36:42.56ID:EhTNSQ6t ニシキヘビともんごイカか
LNPyM
LNPyM
914デフォルトの名無しさん
2021/09/24(金) 09:00:12.81ID:sjjiTDvK pandasで下の様なデータフレームOLD,NEWがあります。
df_OLD
商品名 価格 種類
0 バナナ 100 フルーツ
1 トマト 150 野菜
df_NEW
商品名 価格 種類
0 バナナ 120 フルーツ
1 トマト 130 野菜
OLDとNEWを商品名で比較して、一致した場合にNEWの値と置き換えたいときってどの様にしたら良いのでしょう?
一気に比較してくれる方法とかあるんでしょうか?
1行ずつ比較しないといけないのでしょうか?
df_OLD
商品名 価格 種類
0 バナナ 100 フルーツ
1 トマト 150 野菜
df_NEW
商品名 価格 種類
0 バナナ 120 フルーツ
1 トマト 130 野菜
OLDとNEWを商品名で比較して、一致した場合にNEWの値と置き換えたいときってどの様にしたら良いのでしょう?
一気に比較してくれる方法とかあるんでしょうか?
1行ずつ比較しないといけないのでしょうか?
915デフォルトの名無しさん
2021/09/24(金) 09:05:37.12ID:wqUtxwi5 >>914
価格の値を更新すれば良いのかな?
pandas.DataFrame.update でいかがでしょう
公式
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.update.html
日本語の参考記事は適当に検索すれば出てくる
価格の値を更新すれば良いのかな?
pandas.DataFrame.update でいかがでしょう
公式
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.update.html
日本語の参考記事は適当に検索すれば出てくる
916デフォルトの名無しさん
2021/09/24(金) 09:08:51.13ID:KibxKmAg updateは?
917デフォルトの名無しさん
2021/09/24(金) 09:29:05.87ID:sjjiTDvK >>915-916
後出しみたいになって申し訳ありません。
update試しましたが、同一行を置き換えるのですね。
やりたいこととしては、NEWの方は並び順は一致せず、
さらに新規データの追加やキーとなる列(商品名)以外の内容の変更もしたいのです。
df_NEW
商品名 価格 種類
0 スイカ 150 野菜
1 バナナ 120 フルーツ
2 トマト 130 野菜B
後出しみたいになって申し訳ありません。
update試しましたが、同一行を置き換えるのですね。
やりたいこととしては、NEWの方は並び順は一致せず、
さらに新規データの追加やキーとなる列(商品名)以外の内容の変更もしたいのです。
df_NEW
商品名 価格 種類
0 スイカ 150 野菜
1 バナナ 120 フルーツ
2 トマト 130 野菜B
918デフォルトの名無しさん
2021/09/24(金) 09:37:04.32ID:wqUtxwi5 やりたいことが良く分からないんだけど
(1) df_NEW のデータは全て保持したい
(2) df_OLD にあるもので、df_NEWに無いものはdf_NEWに追加したい
という解釈でも良いのかな?
それなら df_NEWと df_OLD の差分をとって、そのうちdf_NEWに欠けているものをdf_OLDから追加するという方法でも良い?
(1) df_NEW のデータは全て保持したい
(2) df_OLD にあるもので、df_NEWに無いものはdf_NEWに追加したい
という解釈でも良いのかな?
それなら df_NEWと df_OLD の差分をとって、そのうちdf_NEWに欠けているものをdf_OLDから追加するという方法でも良い?
919デフォルトの名無しさん
2021/09/24(金) 09:38:42.26ID:sjjiTDvK920デフォルトの名無しさん
2021/09/24(金) 09:43:23.68ID:wqUtxwi5 >>919
df_NEWというのはすでにpandas.DataFrameの形で持っているということで良いですか?
その場合、df_NEWに入っている値は全て正しい(更新する必要はない)ということになりますよね。おそらく。
それならdf_OLDを更新するという発想にこだわる必要はなくて、NEW無いものをOLDから追加するという発想に転換しても良いのでは?
その場合、私ならmergeを使うと思います。
https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.merge.html
df_NEWというのはすでにpandas.DataFrameの形で持っているということで良いですか?
その場合、df_NEWに入っている値は全て正しい(更新する必要はない)ということになりますよね。おそらく。
それならdf_OLDを更新するという発想にこだわる必要はなくて、NEW無いものをOLDから追加するという発想に転換しても良いのでは?
その場合、私ならmergeを使うと思います。
https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.merge.html
921デフォルトの名無しさん
2021/09/24(金) 09:46:08.06ID:sjjiTDvK922デフォルトの名無しさん
2021/09/24(金) 10:15:48.12ID:sjjiTDvK 現状のままだと、希望結果=NEWになってしまうので少し変更して試しました。
df_New2=pd.merge(ldf_New ,ldf_Old,on=['商品名'],how='outer')
df_Old**************************************************
商品名 価格 種類
0 バナナ 100 フルーツ
1 トマト 150 野菜
2 人参 50 野菜C
df_New**************************************************
商品名 価格 種類
0 スイカ 150 野菜
1 バナナ 120 フルーツ
2 トマト 130 野菜B
df_New2**************************************************
商品名 価格_x 種類_x 価格_y 種類_y
0 スイカ 150.0 野菜 NaN NaN
1 バナナ 120.0 フルーツ 100.0 フルーツ
2 トマト 130.0 野菜B 150.0 野菜
3 人参 NaN NaN 50.0 野菜C
df_New2=pd.merge(ldf_New ,ldf_Old,on=['商品名'],how='outer')
df_Old**************************************************
商品名 価格 種類
0 バナナ 100 フルーツ
1 トマト 150 野菜
2 人参 50 野菜C
df_New**************************************************
商品名 価格 種類
0 スイカ 150 野菜
1 バナナ 120 フルーツ
2 トマト 130 野菜B
df_New2**************************************************
商品名 価格_x 種類_x 価格_y 種類_y
0 スイカ 150.0 野菜 NaN NaN
1 バナナ 120.0 フルーツ 100.0 フルーツ
2 トマト 130.0 野菜B 150.0 野菜
3 人参 NaN NaN 50.0 野菜C
923デフォルトの名無しさん
2021/09/24(金) 10:16:10.57ID:sjjiTDvK しかし希望する結果は以下のとおりです。
この様にしたい場合どうしたら良いのでしょう?
df_New2**************************************************
商品名 価格 種類
0 スイカ 150.0 野菜
1 バナナ 120.0 フルーツ
2 トマト 130.0 野菜B
3 人参 50.0 野菜C
この様にしたい場合どうしたら良いのでしょう?
df_New2**************************************************
商品名 価格 種類
0 スイカ 150.0 野菜
1 バナナ 120.0 フルーツ
2 トマト 130.0 野菜B
3 人参 50.0 野菜C
924デフォルトの名無しさん
2021/09/24(金) 10:17:19.90ID:sjjiTDvK すみません。式は以下です
df_New2=pd.merge(df_New,df_Old,on=['商品名'],how='outer')
df_New2=pd.merge(df_New,df_Old,on=['商品名'],how='outer')
925デフォルトの名無しさん
2021/09/24(金) 10:34:25.61ID:KibxKmAg 日本語で仕様が決まったらまたご相談くださいって感じかな。
その場合はこうして欲しいってのがコロコロ変わりそう。
その場合はこうして欲しいってのがコロコロ変わりそう。
926デフォルトの名無しさん
2021/09/24(金) 11:00:59.24ID:+y7bOBPx 正規表現のfindall()の挙動について質問です
内線を含む電話番号に対する正規表現パターンを用意(現在使用している参考書のコピペ)し、
適当な番号を与えfindall()で取得したリストを出力しました
コードは↓に
https://techiedelight.com/compiler/?22O5
結果としては print(regex.findall('012-345-6789 x 123')) に対し、出力が
[('012-345-6789 x 123', '012', '-', '-', ' x 123', 'x')]
だったのですが、何故こうなるのか解りません
'012-345-6789 x 123', '012', '-', までは解るのですが、なぜそのあと '345' や '6789' が取得されず、
また、'x 123' の取得後に 'x' だけが取得されるのでしょうか
内線を含む電話番号に対する正規表現パターンを用意(現在使用している参考書のコピペ)し、
適当な番号を与えfindall()で取得したリストを出力しました
コードは↓に
https://techiedelight.com/compiler/?22O5
結果としては print(regex.findall('012-345-6789 x 123')) に対し、出力が
[('012-345-6789 x 123', '012', '-', '-', ' x 123', 'x')]
だったのですが、何故こうなるのか解りません
'012-345-6789 x 123', '012', '-', までは解るのですが、なぜそのあと '345' や '6789' が取得されず、
また、'x 123' の取得後に 'x' だけが取得されるのでしょうか
927デフォルトの名無しさん
2021/09/24(金) 11:27:05.39ID:fM0vlPdr 必要な部分は()で囲え
不要な部分は(?:)にしろ
不要な部分は(?:)にしろ
928デフォルトの名無しさん
2021/09/24(金) 12:00:20.17ID:+y7bOBPx >>927
あ〜〜途中の \d{3} などは () で囲われてないからグルーピングされてないために弾かれちゃってたんですね
以下のようにして
https://techiedelight.com/compiler/?SVye
以下の出力結果を得ることができました
[('012-345-6789 x 123', '012', '-', '345', '-', '6789', ' x 123', 'x')]
最後に取得されている x については (?:) を使用するんでしょうか?
(?:) という記法についてまだ知らないので調べてみます
レスありがとうございました
あ〜〜途中の \d{3} などは () で囲われてないからグルーピングされてないために弾かれちゃってたんですね
以下のようにして
https://techiedelight.com/compiler/?SVye
以下の出力結果を得ることができました
[('012-345-6789 x 123', '012', '-', '345', '-', '6789', ' x 123', 'x')]
最後に取得されている x については (?:) を使用するんでしょうか?
(?:) という記法についてまだ知らないので調べてみます
レスありがとうございました
929デフォルトの名無しさん
2021/09/24(金) 12:10:24.86ID:sjjiTDvK いろいろ試して、以下で思う様な結果を得る事ができました。
アドバイスありがとうございました。
df_New2=pd.merge(df_New,df_Old,on=['商品名'],how='outer',suffixes=("","_d"))
df_New2['価格'].fillna(df_New2['価格_d'], inplace=True)
df_New2['種類'].fillna(df_New2['種類_d'], inplace=True)
df_New2.drop(['価格_d','種類_d'], axis=1)
上記2行目と3行目ってまとめて書いたり、”_d”で終わる列とかで指定できるのでしょうか?
アドバイスありがとうございました。
df_New2=pd.merge(df_New,df_Old,on=['商品名'],how='outer',suffixes=("","_d"))
df_New2['価格'].fillna(df_New2['価格_d'], inplace=True)
df_New2['種類'].fillna(df_New2['種類_d'], inplace=True)
df_New2.drop(['価格_d','種類_d'], axis=1)
上記2行目と3行目ってまとめて書いたり、”_d”で終わる列とかで指定できるのでしょうか?
930デフォルトの名無しさん
2021/09/24(金) 12:12:56.73ID:/f3Q922M >>923
それだったら、同じ商品名のデータを上書きするっていう考え方じゃなくて、
oldだけに有ってnewに無いデータだけ抽出して
それをnew側のdfにくっ付けるってやり方があるかな
一応、想定通りには動くけど
大分不細工なやり方になっちゃったから許して……
https://ideone.com/oxdsR3
それだったら、同じ商品名のデータを上書きするっていう考え方じゃなくて、
oldだけに有ってnewに無いデータだけ抽出して
それをnew側のdfにくっ付けるってやり方があるかな
一応、想定通りには動くけど
大分不細工なやり方になっちゃったから許して……
https://ideone.com/oxdsR3
931デフォルトの名無しさん
2021/09/24(金) 12:23:17.91ID:sjjiTDvK del_old_df = old_df[old_df["商品名"].isin(new_df["商品名"])]
こんなこともできるんですね。ありがとうございます。
こっちの方がてっとり早いですね。
こんなこともできるんですね。ありがとうございます。
こっちの方がてっとり早いですね。
レス数が900を超えています。1000を超えると表示できなくなるよ。
