1 名前:デフォルトの名無しさん [2017/09/01(金) 16:44:47.30 ID:igIE9hK/.net] Pythonオフィシャルサイト www.python.org/ テンプレ等は2以降で ■前スレ Pythonのお勉強 Part53 mevius.2ch.net/test/read.cgi/tech/1494683284/
591 名前:デフォルトの名無しさん mailto:sage [2017/11/21(火) 00:06:50.03 ID:kW07Lmzg.net] >>575 ディープラーニングブーム
592 名前:ェ去っても日本で定着するか様子見じゃん [] [ここ壊れてます]
593 名前:デフォルトの名無しさん mailto:sage [2017/11/21(火) 00:08:50.31 ID:SOf041Mo.net] rktとansible派だからVagrantもChefもお呼びじゃない
594 名前:デフォルトの名無しさん mailto:sage [2017/11/21(火) 01:11:16.92 ID:7GgteXiC.net] PoweShell Core ってどうかな。
595 名前:デフォルトの名無しさん mailto:sage [2017/11/21(火) 02:03:59.37 ID:5aM0ZK9C.net] 避けては通れないって よく知らないけど、そいつデブなの?
596 名前:デフォルトの名無しさん mailto:sage [2017/11/21(火) 02:42:05.14 ID:g6loEhY5.net] そうだよ死ねよ
597 名前:デフォルトの名無しさん mailto:sage [2017/11/21(火) 11:22:38.88 ID:RYYlpLyl.net] 肥満大国はこれだから
598 名前:デフォルトの名無しさん mailto:sage [2017/11/21(火) 20:57:54.72 ID:IlBdcuWw.net] >>577 他の言語とあまり変わらん ただブロックに対するスコープがないことと代入で変数を生成するためちょっとトリッキーに見える動作をすることがあるからこの辺りを見ておいた方がいい https://www.oreilly.co.jp/community/blog/2011/11/namespace-and-scope-in-python.html
599 名前:デフォルトの名無しさん [2017/11/21(火) 21:00:39.52 ID:aoTpu/Dr.net] >>575 僕達の見解としては、これからはアセンブラだと思うよ。
600 名前:デフォルトの名無しさん mailto:sage [2017/11/21(火) 21:32:47.06 ID:I1FPMoBf.net] >>587 なぜですか?!
601 名前:デフォルトの名無しさん mailto:sage [2017/11/21(火) 22:42:57.01 ID:D0Caxv/X.net] >>575 別に移行しなくてもいいんでない。共にやれば。
602 名前:デフォルトの名無しさん [2017/11/22(水) 16:17:07.47 ID:9hdU5G5U.net] pythonチュートリアル読んでるけど細かすぎねえかこれ
603 名前:デフォルトの名無しさん [2017/11/22(水) 16:38:05.76 ID:tp3rvCxZ.net] こまいかどうかはともかく 体系がなっとらん
604 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 17:50:18.07 ID:a2w0tA5i.net] ドキュメントは必要なところを読めばいいから、ある程度細かいことは歓迎だけどな。 プログラミング自体の初心者だと、たしかにわかりづらい部分はあるかもね。 プログラミング経験者からすると、Python独自の作法とか、 他言語との対照表みたいなのがあるといい。
605 名前:遊園 mailto:sage [2017/11/22(水) 18:08:23.92 ID:MeIRWi6F.net] 俺も欲しい。 できればC#と比べてくれると嬉しい。
606 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 22:00:33.41 ID:pEQ0GCud.net] けどそのチュートリアル大事やで。 読み終わったあと、さぁ何をしようってなるよ。
607 名前:遊園 mailto:sage [2017/11/22(水) 23:24:22.00 ID:MeIRWi6F.net] 就職かな?w エクセル操作に一票
608 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 23:50:34.03 ID:a2w0tA5i.net] >>594 そうだよね。 くだすれの方でネタになったargparseのチュートリアルも正直かなり細かいけど、 ああ、こんなことまで出来るんだぁ、から始まって、 結局その例をパクリながら、自作スクリプトを書き直ししたしなぁ。 チュートリアルは興味を持ってもらってなんぼというところもあるかも知れないけど、 とりあえずマネてみればそれなりに応用は利くようになると思うのが実感。
609 名前:デフォルトの名無しさん [2017/11/23(木) 01:32:49.79 ID:dN4AoUwX.net] 初歩的な質問ですいませんが誰か教えてください def calc(self, event): #押されたボタンのテキストを取得 char = event.widget['text'] #resetが押された場合 if char == 'reset': self.k = ['0'] #rが押された場合 elif char == 'r': self.k = ['0'] #+が押された場合 elif char == '+': x = x + 1 self.k = [str(x)]#今の値に+1する elif char == '-': x = x - 1 self.k = [str(x)] #今の値から-1する self.dp_var.set( ' '.join(self.k) ) というプログラムの現在ディスプレイに表示されてる値に+1をするという部分の作り方 で詰まってしまいました 誰かヒントだけでも教えてください・・・
610 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 05:48:11.38 ID:uF7hi9HH.net] >>597 どんな方法を使ったか知らないが普通 ディスプレイに表示されている値は出力されたものであり変更できない 一旦削除してまた別の数字を出力すれば
611 名前:デフォルトの名無しさん [2017/11/23(木) 08:55:51.04 ID:XBDj7YCq.net] >>591 素晴らしい体系を提案してくれ給え。
612 名前:デフォルトの名無しさん [2017/11/23(木) 10:45:32.24 ID:A/UsFlMH.net] event.widget.setlabel(str(self.k))
613 名前:デフォルトの名無しさん [2017/11/23(木) 10:57:35.66 ID:BHLx1drH.net] event.widget.configure(width=20, height=5, text=str(x), font=('Migu 1M', '24'), fg='red)
614 名前:デフォルトの名無しさん [2017/11/23(木) 13:35:00.16 ID:Gsw8xDzr.net] >598 80 60 85辺りかな?
615 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 17:54:37.84 ID:s5J6nT+y.net] fot i in [100, 100, 100]: print(i)
616 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 17:55:27.07 ID:OEoWdmlz.net] 2次元リストで要素はintとstrの混在,ファイルから読んで更新,ファイルに書き出すということをやってます。 1行ごとに読んでsplitで要素に分解して特定の列だけintに変換してlistに格納、書き出すときはint要素をstrに変換してjoinで結合, 1行ごとに書き込みという風にやってますがなんか無駄なような気がします。 2次元リストごと一括でread,writeする簡単な方法はありませんか?
617 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 18:31:53.82 ID:V6s4lnHY.net] A,B,C(改行) X,Y,Z(改行) CSV だと、列区切りにカンマ、行区切りに改行を使うから、 1行ずつしか読み書きできない 全部の行をまとめると、行区切りがなくなる。 A,B,CX,Y,Z
618 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 18:33:23.12 ID:aJsuycVV.net] Javaエンジニアです コード量少なく済むってまじですか?
619 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 18:43:26.69 ID:iOhHGSNn.net] まじ
620 名前:605 [2017/11/23(木) 18:50:50.08 ID:Gsw8xDzr.net] >>607 マジか!!
621 名前:デフォルトの名無しさん [2017/11/23(木) 19:00:56.02 ID:A7IWH6W8.net] >>605 全部一気に読みこむと改行て消えるんか?
622 名前:デフォルトの名無しさん [2017/11/23(木) 19:49:19.59 ID:DyM7pS8r.net] >>604 json, pickle, sqlite3好きなの選べ
623 名前:デフォルトの名無しさん [2017/11/23(木) 20:13:58.63 ID:EP8I35kw.net] ●●●宇宙の外側に何があるのか?●●● jbbs.livedoor.jp/bbs/read.cgi/stud ▲y/3729/1069922074/84-87 この掲示板(万▲有サロン)に優秀な書き▲込みをして、総額148万円の賞金をゲットしよう!(*^^)v jbbs.livedoor.jp/stu ▲dy/3729/ →リンクが不良なら、検▲索窓に入れる!
624 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 20:42:54.38 ID:V6s4lnHY.net] >>609 改行はあるかも知れないけど、 その改行をすべて拾っていかないと、1行ずつ処理できない
625 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 20:56:22.29 ID:haiMWBI7.net] pandas使えば一発で解決するな
626 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 21:11:52.18 ID:3u99Ww5l.net] >>604 とりあえずCSV処理するときにsplitだのstrtokだの使うな。大人しくcsvモジュール使え。 エスケープシーケンスどころか空セルにすら対応できなくなるから。
627 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 21:15:48.96 ID:AE4DGBUv.net] なんでわざわざライブラリあるのに自分で書こうと思うのか分からん
628 名前:デフォルトの名無しさん [2017/11/23(木) 21:24:21.79 ID:dN4AoUwX.net] 596です ありがとうございます
629 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 02:28:11.33 ID:4BpIkKm4.net] お前らよりも、ずっと神 https://www.youtube.com/user/sentdex/featured
630 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 02:28:27.65 ID:4BpIkKm4.net] お前らよりも、ずっと神 https://www.youtube.com/user/sentdex/featured
631 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 10:34:27.08 ID:W4G6A7kr.net] >>604 >>> csv_raw_data = """hoge,1,10,fuga apple,2,20,pine
632 名前:apple strawberry,3,30,mango""" >>> >>> print(csv_raw_data) hoge,1,10,fuga apple,2,20,pineapple strawberry,3,30,mango >>> >>> csv_data = [[int(col) if col.isdigit() else col for col in row.split(',')] for row in csv_raw_data.split('\n')] #数字の文字列はintに変換して2次元リスト化 >>> csv_data [['hoge', 1, 10, 'fuga'], ['apple', 2, 20, 'pineapple'], ['strawberry', 3, 30, 'mango']] >>> >>> [row[1] for row in csv_data] #2列目のデータ抜き出し [1, 2, 3] >>> >>> new_col_1 = [111,112,113] #2列目のNEWデータ >>> new_csv_data = [[new_col_1[row_idx] if col_idx==1 else col_data for col_idx, col_data in enumerate(row_data)] for row_idx, row_data in enumerate(csv_data)] >>> new_csv_data [['hoge', 111, 10, 'fuga'], ['apple', 112, 20, 'pineapple'], ['strawberry', 113, 30, 'mango']] >>> >>> new_csv_raw_data = '\n'.join([','.join([str(col) for col in row]) for row in new_csv_data]) #intはstrに変換して文字列化 >>> print(new_csv_raw_data) hoge,111,10,fuga apple,112,20,pineapple strawberry,113,30,mango >>> [] [ここ壊れてます]
633 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 11:33:00.39 ID:W4G6A7kr.net] >>610 がすすめるjsonは癖があるし、pickleはバイナリデータだからdumpしないと読めないし編集できないし sqlite3はしらんけども・・、csvのデータを扱うなら>>614 の言うようにcsvモジュール使うのがベストだと思う しかし、>>604 の質問を考察するに特殊なcsvを扱うわけではなく 自分で作った2次元リストの保存にcsvにするというだけなのだから>>619 でいいと思う(csvモジュール勉強するのめんどいじゃん) さらに>>619 は自由にカスタマイズ可能、例えば各列の先頭をそろえるためにスペースを入れるとかなんとか うーん、>>619 がベストアンサーであると確定してしまったね
634 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 11:38:11.01 ID:GsVE4oKd.net] strにカンマとタブとスペースと空文字と空白と改行が以下略
635 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 11:45:22.75 ID:GsVE4oKd.net] まず手で編集する気があるのかを訪ねるべきだった
636 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 11:51:38.02 ID:GsVE4oKd.net] 次に値域を尋ねるべきだった フォーマットについて話すのはそれからで良かった
637 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 12:38:53.37 ID:lepqzR4M.net] jsonそんなに癖あるかな
638 名前:デフォルトの名無しさん [2017/11/24(金) 12:42:09.24 ID:znYgKojB.net] (自分が)使えない事を世間では「クセがある」と言うんやで 覚えとき
639 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 12:46:05.01 ID:JwzuLRFp.net] csvモジュールの使い方覚えるのさえ面倒くさがる雑魚がpython、、、
640 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 13:33:05.64 ID:gyq0zbJn.net] 雑魚にも難しいことができるように言語は進歩してきた もっと雑魚の言い分に耳を傾けろおら
641 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 14:40:46.80 ID:W4G6A7kr.net] >>604 おいっ! すごい方法を思いついちまった、天才かもしれん 2次元リストをstr()で文字列化して、それをファイルに保存 データを復元するときは、exec("value_name " + "=" + "ファイルから読み込んだ文字列”) >>> data = [['hoge', 1, 10, 'fuga'], ['apple', 2, 20, 'pineapple'], ['strawberry', 3, 30, 'mango']] >>> >>> import re >>> save_data = re.sub(r'(\],)','],\n', str(data)) #ファイル直接見た時に見やすいように改行挿入 >>> print(save_data) [['hoge', 1, 10, 'fuga'], ['apple', 2, 20, 'pineapple'], ['strawberry', 3, 30, 'mango']] >>> >>> exec("value_name" + "=" + save_data) >>> print(value_name) [['hoge', 1, 10, 'fuga'], ['apple', 2, 20, 'pineapple'], ['strawberry', 3, 30, 'mango']] >>>
642 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 14:57:34.18 ID:W4G6A7kr.net] execよりevalの方がいいわ安全だし >>> value_name = eval(save_data) >>> print(value_name) [['hoge', 1, 10, 'fuga'], ['apple', 2, 20, 'pineapple'], ['strawberry', 3, 30, 'mango']] >>>
643 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 16:54:50.41 ID:gjW1rQ8R.net] どんな言語を使ってプログラムできても所詮俺たちはコピペ職人に過ぎない
644 名前:デフォルトの名無しさん [2017/11/24(金) 18:45:37.50 ID:FT0GxPR+.net] そう卑下するな コピペでも職人の域に逹してるなら大したもんだ
645 名前:603 mailto:sage [2017/11/24(金) 20:40:44.33 ID:SOBToF3l.net] たくさんレスありがとさんです pickleとかpandasとか知らなかったので大変勉強になりました。今回はファイルを直接編集する道も残しておきたかったのでcsvにしました。リードもライトもfor文がなくなってすっきりしましたw
646 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 21:23:09.23 ID:t572wEhv.net] Pythonは貴方にとって何? 1. 飯の種 2. 仕事の道具 3. 趣味のツール 4. 楽しいおもちゃ
647 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 21:35:38.52 ID:r4TUJvjC.net] 趣味のおもちゃ
648 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 21:53:56.64 ID:W4G6A7kr.net] >>632 csvモジュール使ってみたけどコレなかなか良いよ 数字の文字列を自動でintに変換してくれるようなことはしてくれないみたいだけど、なかなか良いよ >>> import csv >>> csv_data = [['hoge', 1, 10, 'fuga'], ['apple', 2, 20, 'pineapple'], ['strawberry', 3, 30, 'mango']] >>> >>> with open('csv_test.csv', 'w', newline='') as csvfile: s = csv.writer(csvfile, delimiter=',', quoting=csv.QUOTE_NONE) s.writerows(csv_data) >>> with open('csv_test.csv', newline='') as csvfile: s = csv.reader(csvfile, delimiter=',') read_csv_data = [[int(col) if col.isdigit() else col for col in row] for row in s] >>> read_csv_data [['hoge', 1, 10, 'fuga'], ['apple', 2, 20, 'pineapple'], ['strawberry', 3, 30, 'mango']] >>>
649 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 22:18:26.44 ID:W4G6A7kr.net] ちょっと待って、ちょっと待ってぇ、>>619 と比較してみようか >>> csv_data = [['hoge', 1, 10, 'fuga'], ['apple', 2, 20, 'pineapple'], ['strawberry', 3, 30, 'mango']] >>> >>> with open('csv_test.csv', 'w') as f: f.write('\n'.join([','.join([str(col) for col in row]) for row in csv_data])) 57 >>> with open('csv_test.csv') as f: read_csv_data = [[int(col) if col.isdigit() else col for col in row.split(',')] for row in f.read().split('\n')] >>> read_csv_data [['hoge', 1, 10, 'fuga'], ['apple', 2, 20, 'pineapple'], ['strawberry', 3, 30, 'mango']] >>> うーん、こっちもナウイよね
650 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 22:47:43.93 ID:dBxfSdVP.net] >>633 全部
651 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 22:50:17.62 ID:mPUfH2u/.net] 5. 敵 ってのはいないのか
652 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 01:20:28.23 ID:P57Umvv2.net] 研究道具
653 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 15:46:17.92 ID:unmm6CwQ.net] >>606 近寄るな 頭が悪くなる >>624 微妙に方言がある (方言は置いといても)CSVよりマシだと思う
654 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 15:48:10.37 ID:unmm6CwQ.net] >>633 Cのラッパー
655 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 15:51:44.65 ID:8MJ8aqbo.net] hdf5が有能 個人で使う場合はだけど
656 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 16:01:20.11 ID:mxSpQEHX.net] 方言つか、JSONの仕様に従わないものはそもそもJSONじゃない。 まあツールによっては読み込み時に末尾カンマを許容していたりする場合があるけど、 それも癖というほどのものでもないだろう。
657 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 17:42:47.00 ID:Liv5eBGp.net] bottleってなんでHTMLの拡張子が.tplなんだろう?pycharmでシンタックスハイライトできないじゃん
658 名前:デフォルトの名無しさん [2017/11/25(土) 21:15:56.32 ID:WUmHjByJ.net] Pythonチュートリアル読み終えたんだけど何作ればいい?
659 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 21:51:36.80 ID:Liv5eBGp.net] そんなこと自分で考えろよ
660 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 22:27:04.77 ID:fPJ/ssTh.net] >>645 https://paiza.jp/poh/ando ここで水着をgetする
661 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 11:25:37.85 ID:mDBTtSZ5.net] >>632 オレオレcsvモジュールcsv_normal.py作ってみたよ(https://ideone.com/E2XicF) フィールドはカンマで区切り、行は改行で分けるノーマルなcsvを扱うモジュールだよ ※フィールドの左右の空白は無視するよ(stripするよ) ・フィールドは見やすいように文字幅を揃えて保存するよ ・intに変換できる文字列フィールドはintに変換するよ ・floatに変換できる文字列フィールドはfloatに変換するよ ・列の追加関数と削除関数を用意している
662 名前: [] [ここ壊れてます]
663 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 11:37:41.95 ID:WsfHWCB2.net] そんなRFCにも対応できてないゴミをわざわざ作って公開してなにが楽しいのやら。
664 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 11:47:38.84 ID:7Eh10X3o.net] 上にも書いたけど、それpandasで遥かに高度なことできるよ pd.read_csvのdtypeにフィールド名と型の組み合わせの辞書を渡すだけだしastypeメソッドで特定の要素だけ後から型変えれるし
665 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 11:56:20.97 ID:esw4gVHx.net] >>649 プログラマレベル1から2に上がったくらいだと 謎の全能感を持ってるから何でも楽しいのよ
666 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 12:05:04.33 ID:esw4gVHx.net] もちろんジョークなので悪しからず www.geekpage.jp/blog/?id=2007/7/9
667 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 12:15:51.76 ID:gitIxNz2.net] むしろ必要な機能だけを実装する低機能モジュールの試みなのでは
668 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 12:48:12.87 ID:pGcZHtwF.net] まあ>>648 が役に立つかどうかは知らんけど批判しかできない>>649-650 よりマシ
669 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 12:55:23.96 ID:61tvbHXI.net] 謎擁護見苦しいぞ
670 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 13:28:49.64 ID:LfmB80sO.net] 批判できる俺カッケー ってかww
671 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 13:46:26.16 ID:d4hGNmNC.net] 肯定意見しか認めないのもどうかと それでも批判意見に反対するなら批判内容まで触れるべきと思います
672 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 13:49:02.89 ID:6vKcPFg6.net] >>650 はともかく>>649 は批判意見でも何でもないただの難癖だろ
673 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 13:54:24.74 ID:Ry1/J8TT.net] >>654 例え無駄でもがんばった子を褒めるのは小学校の先生までで十分です。 公式に出てるcsvモジュールのサンプルコードをコピペ改変してデータを読み書きするまでどんなノロマでも5分もかからない作業なのに半端な独自実装を書く奴はただのアホです。
674 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 14:02:06.75 ID:pGcZHtwF.net] 誉めろなんて誰も言ってないが...
675 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 14:09:02.96 ID:Vsmdvm4Z.net] どんなに頑張ったって1%の天才と99%のコピペ達なんだ
676 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 14:16:57.73 ID:Vsmdvm4Z.net] 虚勢を張ったコピペ職人 自覚を持ったコピペ職人 僕はね自覚を持ったコピペ職人になりたいんだ
677 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 14:58:36.17 ID:mDBTtSZ5.net] ふぅー 落ち着いたか、、大興奮のレスバトルだったね、見ててワクワクしましたわ さっきまでのワイの感想「今日はワイがスレの主役やでぇー、 キャッ、イケメンが擁護してくれてはるー、イケメン頑張れっ!」 あとは>>632 の感想があれば満足やで、あっちなみにワイは1%の天才側やでぇコピペしてへんから あと21行目とコメントがいまいちなのと、26行目のコメントが間違ってたから修正な 21行目 # #csv_dataのインデックス4の列に[1, 2, 3, 4, 5.9, 12, 15, 16]を追加 ↓ # #csv_dataのインデックス4に列[1, 2, 3, 4, 5.9, 12, 15, 16]を追加 26行目 # #csv_dataのインデックス4の列に[1, 2, 3, 4, 5.9, 12, 15, 16]を追加 ↓ # #csv_dataのインデックス1に列[1, 2, 3, 4, 5.9, 12, 15, 16]を追加
678 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 15:24:49.96 ID:esw4gVHx.net] レベル2ではなく真正か 雪風より酷い
679 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 15:32:28.30 ID:6vKcPFg6.net] 検索しても引っかかんないんだけどこのコピペどの板発祥なん?
680 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 15:35:18.00 ID:Of43oNR8.net] まぁ口だけよりは物作ってるやつの方が有能ではあるぞ
681 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 16:12:09.17 ID:gitIxNz2.net] 公式のCSVモジュールも最初はこんな感じだったんだろうか
682 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 16:12:31.86 ID:kUxrkBSh.net] うぉおおコードがキモいよぅ…… 2次元配列を確保していじるあたり
683 名前:フ雰囲気がC++っぽくてPython的ではない というかクラス使えと def _csvfield2str(csv_data): """ csvのフィールドを全て文字列に変える """ return [[str(field).strip() for field in row] for row in csv_data] この辺がキモすぎる コメント一行にしたいし二重for inを崩したいのと同じような関数が並んでいるのをどげんかしたい その原因はこの関数か? def _str2int(string): なんでcsv_readで重要そうな型の概念がこんな奥底にあるんだよ というかこの関数必要なのか [] [ここ壊れてます]
684 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 16:49:48.70 ID:EGzofRDo.net] どんどんコードレビューしていけ
685 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 16:51:34.28 ID:mDBTtSZ5.net] >>668 おっ、コード見てくれるなんて有り難いね 状態は保持しないからクラスはいらないかな、デリミタをカンマ以外に 選べるようにする場合はデリミタ保持しないとアレだからクラスにするけど 関数のコメントは増えるかもしれないし”””が好みだね エディタの色分け表示の関係もあって”””使ってるけど、こだわりはそんなにない 内包表記の二重forは全然抵抗無いんだけど、csvは2次元配列だし、むしろ分かりやすいかと _str2int関数とかは内包表記で使うために用意した 文字列をintにする場合、isdigit()で変換可能かどうかチェックしてというのを三項演算子で書いてたけど 長くなるし分かりにくいし、’ 10 ’のような文字列だとisdigit()でFalseになるからisdigit()する前に 文字列をstrip()しないとだし、floatはどうすんの?というアレがアレでこうなったというわけです ’2e+3’とかもfloat変換に対応すると判定がわけわかめなんで、一度float変換してみてエラーならダメなのねって感じです
686 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 18:13:41.39 ID:xL/UhMqd.net] まぁ、道具として使うなら、想定通りに動きゃいいけどな
687 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 18:58:33.98 ID:0QF+Tfxu.net] エロチャットやるぞ
688 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 19:27:04.78 ID:qKR3tC8i.net] 業務に使わせてもらっていいですか?! あとコメント行で俺が作ったことにして書き換えたいのですが
689 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 19:52:23.70 ID:UQqD+tZj.net] マジで言ってんの?
690 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 20:03:10.38 ID:Ry1/J8TT.net] さすがに冗談だろ。 業務のコードにこんな独自実装なゴミ書いたら小一時間説教される。ていうか、俺はしたことある。 c++でstrtok使ってcsv読んでトラブル起こしたアホを。
691 名前:デフォルトの名無しさん mailto:sage [2017/11/26(日) 20:07:50.74 ID:esw4gVHx.net] 真性も要らねーけどアホ自慢も要らねー