Pythonオフィシャルサイト
http://www.python.org/
テンプレ等は2以降で
■前スレ
Pythonのお勉強 Part53
http://mevius.2ch.net/test/read.cgi/tech/1494683284/
Pythonのお勉強 Part54 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2017/09/01(金) 16:44:47.30ID:igIE9hK/619デフォルトの名無しさん
2017/11/24(金) 11:33:00.39ID:W4G6A7kr >>609がすすめるjsonは癖があるし、pickleはバイナリデータだからdumpしないと読めないし編集できないし
sqlite3はしらんけども・・、csvのデータを扱うなら>>613の言うようにcsvモジュール使うのがベストだと思う
しかし、>>603の質問を考察するに特殊なcsvを扱うわけではなく
自分で作った2次元リストの保存にcsvにするというだけなのだから>>618でいいと思う(csvモジュール勉強するのめんどいじゃん)
さらに>>618は自由にカスタマイズ可能、例えば各列の先頭をそろえるためにスペースを入れるとかなんとか
うーん、>>618がベストアンサーであると確定してしまったね
sqlite3はしらんけども・・、csvのデータを扱うなら>>613の言うようにcsvモジュール使うのがベストだと思う
しかし、>>603の質問を考察するに特殊なcsvを扱うわけではなく
自分で作った2次元リストの保存にcsvにするというだけなのだから>>618でいいと思う(csvモジュール勉強するのめんどいじゃん)
さらに>>618は自由にカスタマイズ可能、例えば各列の先頭をそろえるためにスペースを入れるとかなんとか
うーん、>>618がベストアンサーであると確定してしまったね
620デフォルトの名無しさん
2017/11/24(金) 11:38:11.01ID:GsVE4oKd strにカンマとタブとスペースと空文字と空白と改行が以下略
621デフォルトの名無しさん
2017/11/24(金) 11:45:22.75ID:GsVE4oKd まず手で編集する気があるのかを訪ねるべきだった
622デフォルトの名無しさん
2017/11/24(金) 11:51:38.02ID:GsVE4oKd 次に値域を尋ねるべきだった
フォーマットについて話すのはそれからで良かった
フォーマットについて話すのはそれからで良かった
623デフォルトの名無しさん
2017/11/24(金) 12:38:53.37ID:lepqzR4M jsonそんなに癖あるかな
624デフォルトの名無しさん
2017/11/24(金) 12:42:09.24ID:znYgKojB (自分が)使えない事を世間では「クセがある」と言うんやで
覚えとき
覚えとき
625デフォルトの名無しさん
2017/11/24(金) 12:46:05.01ID:JwzuLRFp csvモジュールの使い方覚えるのさえ面倒くさがる雑魚がpython、、、
626デフォルトの名無しさん
2017/11/24(金) 13:33:05.64ID:gyq0zbJn 雑魚にも難しいことができるように言語は進歩してきた
もっと雑魚の言い分に耳を傾けろおら
もっと雑魚の言い分に耳を傾けろおら
627デフォルトの名無しさん
2017/11/24(金) 14:40:46.80ID:W4G6A7kr >>603
おいっ! すごい方法を思いついちまった、天才かもしれん
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']]
>>>
おいっ! すごい方法を思いついちまった、天才かもしれん
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']]
>>>
628デフォルトの名無しさん
2017/11/24(金) 14:57:34.18ID:W4G6A7kr execよりevalの方がいいわ安全だし
>>> value_name = eval(save_data)
>>> print(value_name)
[['hoge', 1, 10, 'fuga'], ['apple', 2, 20, 'pineapple'], ['strawberry', 3, 30, 'mango']]
>>>
>>> value_name = eval(save_data)
>>> print(value_name)
[['hoge', 1, 10, 'fuga'], ['apple', 2, 20, 'pineapple'], ['strawberry', 3, 30, 'mango']]
>>>
629デフォルトの名無しさん
2017/11/24(金) 16:54:50.41ID:gjW1rQ8R どんな言語を使ってプログラムできても所詮俺たちはコピペ職人に過ぎない
630デフォルトの名無しさん
2017/11/24(金) 18:45:37.50ID:FT0GxPR+ そう卑下するな
コピペでも職人の域に逹してるなら大したもんだ
コピペでも職人の域に逹してるなら大したもんだ
631603
2017/11/24(金) 20:40:44.33ID:SOBToF3l たくさんレスありがとさんです
pickleとかpandasとか知らなかったので大変勉強になりました。今回はファイルを直接編集する道も残しておきたかったのでcsvにしました。リードもライトもfor文がなくなってすっきりしましたw
pickleとかpandasとか知らなかったので大変勉強になりました。今回はファイルを直接編集する道も残しておきたかったのでcsvにしました。リードもライトもfor文がなくなってすっきりしましたw
632デフォルトの名無しさん
2017/11/24(金) 21:23:09.23ID:t572wEhv Pythonは貴方にとって何?
1. 飯の種
2. 仕事の道具
3. 趣味のツール
4. 楽しいおもちゃ
1. 飯の種
2. 仕事の道具
3. 趣味のツール
4. 楽しいおもちゃ
633デフォルトの名無しさん
2017/11/24(金) 21:35:38.52ID:r4TUJvjC 趣味のおもちゃ
634デフォルトの名無しさん
2017/11/24(金) 21:53:56.64ID:W4G6A7kr >>631
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']]
>>>
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']]
>>>
635デフォルトの名無しさん
2017/11/24(金) 22:18:26.44ID:W4G6A7kr ちょっと待って、ちょっと待ってぇ、>>618と比較してみようか
>>> 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']]
>>>
うーん、こっちもナウイよね
>>> 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']]
>>>
うーん、こっちもナウイよね
636デフォルトの名無しさん
2017/11/24(金) 22:47:43.93ID:dBxfSdVP >>632
全部
全部
637デフォルトの名無しさん
2017/11/24(金) 22:50:17.62ID:mPUfH2u/ 5. 敵
ってのはいないのか
ってのはいないのか
638デフォルトの名無しさん
2017/11/25(土) 01:20:28.23ID:P57Umvv2 研究道具
639デフォルトの名無しさん
2017/11/25(土) 15:46:17.92ID:unmm6CwQ640デフォルトの名無しさん
2017/11/25(土) 15:48:10.37ID:unmm6CwQ >>632
Cのラッパー
Cのラッパー
641デフォルトの名無しさん
2017/11/25(土) 15:51:44.65ID:8MJ8aqbo hdf5が有能
個人で使う場合はだけど
個人で使う場合はだけど
642デフォルトの名無しさん
2017/11/25(土) 16:01:20.11ID:mxSpQEHX 方言つか、JSONの仕様に従わないものはそもそもJSONじゃない。
まあツールによっては読み込み時に末尾カンマを許容していたりする場合があるけど、
それも癖というほどのものでもないだろう。
まあツールによっては読み込み時に末尾カンマを許容していたりする場合があるけど、
それも癖というほどのものでもないだろう。
643デフォルトの名無しさん
2017/11/25(土) 17:42:47.00ID:Liv5eBGp bottleってなんでHTMLの拡張子が.tplなんだろう?pycharmでシンタックスハイライトできないじゃん
644デフォルトの名無しさん
2017/11/25(土) 21:15:56.32ID:WUmHjByJ Pythonチュートリアル読み終えたんだけど何作ればいい?
645デフォルトの名無しさん
2017/11/25(土) 21:51:36.80ID:Liv5eBGp そんなこと自分で考えろよ
646デフォルトの名無しさん
2017/11/25(土) 22:27:04.77ID:fPJ/ssTh647デフォルトの名無しさん
2017/11/26(日) 11:25:37.85ID:mDBTtSZ5 >>631
オレオレcsvモジュールcsv_normal.py作ってみたよ(https://ideone.com/E2XicF)
フィールドはカンマで区切り、行は改行で分けるノーマルなcsvを扱うモジュールだよ
※フィールドの左右の空白は無視するよ(stripするよ)
・フィールドは見やすいように文字幅を揃えて保存するよ
・intに変換できる文字列フィールドはintに変換するよ
・floatに変換できる文字列フィールドはfloatに変換するよ
・列の追加関数と削除関数を用意しているよ
オレオレcsvモジュールcsv_normal.py作ってみたよ(https://ideone.com/E2XicF)
フィールドはカンマで区切り、行は改行で分けるノーマルなcsvを扱うモジュールだよ
※フィールドの左右の空白は無視するよ(stripするよ)
・フィールドは見やすいように文字幅を揃えて保存するよ
・intに変換できる文字列フィールドはintに変換するよ
・floatに変換できる文字列フィールドはfloatに変換するよ
・列の追加関数と削除関数を用意しているよ
648デフォルトの名無しさん
2017/11/26(日) 11:37:41.95ID:WsfHWCB2 そんなRFCにも対応できてないゴミをわざわざ作って公開してなにが楽しいのやら。
649デフォルトの名無しさん
2017/11/26(日) 11:47:38.84ID:7Eh10X3o 上にも書いたけど、それpandasで遥かに高度なことできるよ
pd.read_csvのdtypeにフィールド名と型の組み合わせの辞書を渡すだけだしastypeメソッドで特定の要素だけ後から型変えれるし
pd.read_csvのdtypeにフィールド名と型の組み合わせの辞書を渡すだけだしastypeメソッドで特定の要素だけ後から型変えれるし
650デフォルトの名無しさん
2017/11/26(日) 11:56:20.97ID:esw4gVHx651デフォルトの名無しさん
2017/11/26(日) 12:05:04.33ID:esw4gVHx もちろんジョークなので悪しからず
http://www.geekpage.jp/blog/?id=2007/7/9
http://www.geekpage.jp/blog/?id=2007/7/9
652デフォルトの名無しさん
2017/11/26(日) 12:15:51.76ID:gitIxNz2 むしろ必要な機能だけを実装する低機能モジュールの試みなのでは
653デフォルトの名無しさん
2017/11/26(日) 12:48:12.87ID:pGcZHtwF654デフォルトの名無しさん
2017/11/26(日) 12:55:23.96ID:61tvbHXI 謎擁護見苦しいぞ
655デフォルトの名無しさん
2017/11/26(日) 13:28:49.64ID:LfmB80sO 批判できる俺カッケー
ってかww
ってかww
656デフォルトの名無しさん
2017/11/26(日) 13:46:26.16ID:d4hGNmNC 肯定意見しか認めないのもどうかと
それでも批判意見に反対するなら批判内容まで触れるべきと思います
それでも批判意見に反対するなら批判内容まで触れるべきと思います
657デフォルトの名無しさん
2017/11/26(日) 13:49:02.89ID:6vKcPFg6658デフォルトの名無しさん
2017/11/26(日) 13:54:24.74ID:Ry1/J8TT >>653
例え無駄でもがんばった子を褒めるのは小学校の先生までで十分です。
公式に出てるcsvモジュールのサンプルコードをコピペ改変してデータを読み書きするまでどんなノロマでも5分もかからない作業なのに半端な独自実装を書く奴はただのアホです。
例え無駄でもがんばった子を褒めるのは小学校の先生までで十分です。
公式に出てるcsvモジュールのサンプルコードをコピペ改変してデータを読み書きするまでどんなノロマでも5分もかからない作業なのに半端な独自実装を書く奴はただのアホです。
659デフォルトの名無しさん
2017/11/26(日) 14:02:06.75ID:pGcZHtwF 誉めろなんて誰も言ってないが...
660デフォルトの名無しさん
2017/11/26(日) 14:09:02.96ID:Vsmdvm4Z どんなに頑張ったって1%の天才と99%のコピペ達なんだ
661デフォルトの名無しさん
2017/11/26(日) 14:16:57.73ID:Vsmdvm4Z 虚勢を張ったコピペ職人
自覚を持ったコピペ職人
僕はね自覚を持ったコピペ職人になりたいんだ
自覚を持ったコピペ職人
僕はね自覚を持ったコピペ職人になりたいんだ
662デフォルトの名無しさん
2017/11/26(日) 14:58:36.17ID:mDBTtSZ5 ふぅー 落ち着いたか、、大興奮のレスバトルだったね、見ててワクワクしましたわ
さっきまでのワイの感想「今日はワイがスレの主役やでぇー、 キャッ、イケメンが擁護してくれてはるー、イケメン頑張れっ!」
あとは>>631の感想があれば満足やで、あっちなみにワイは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]を追加
さっきまでのワイの感想「今日はワイがスレの主役やでぇー、 キャッ、イケメンが擁護してくれてはるー、イケメン頑張れっ!」
あとは>>631の感想があれば満足やで、あっちなみにワイは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]を追加
663デフォルトの名無しさん
2017/11/26(日) 15:24:49.96ID:esw4gVHx レベル2ではなく真正か
雪風より酷い
雪風より酷い
664デフォルトの名無しさん
2017/11/26(日) 15:32:28.30ID:6vKcPFg6 検索しても引っかかんないんだけどこのコピペどの板発祥なん?
665デフォルトの名無しさん
2017/11/26(日) 15:35:18.00ID:Of43oNR8 まぁ口だけよりは物作ってるやつの方が有能ではあるぞ
666デフォルトの名無しさん
2017/11/26(日) 16:12:09.17ID:gitIxNz2 公式のCSVモジュールも最初はこんな感じだったんだろうか
667デフォルトの名無しさん
2017/11/26(日) 16:12:31.86ID:kUxrkBSh うぉおおコードがキモいよぅ……
2次元配列を確保していじるあたりの雰囲気が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で重要そうな型の概念がこんな奥底にあるんだよ
というかこの関数必要なのか
2次元配列を確保していじるあたりの雰囲気が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で重要そうな型の概念がこんな奥底にあるんだよ
というかこの関数必要なのか
668デフォルトの名無しさん
2017/11/26(日) 16:49:48.70ID:EGzofRDo どんどんコードレビューしていけ
669デフォルトの名無しさん
2017/11/26(日) 16:51:34.28ID:mDBTtSZ5 >>667
おっ、コード見てくれるなんて有り難いね
状態は保持しないからクラスはいらないかな、デリミタをカンマ以外に
選べるようにする場合はデリミタ保持しないとアレだからクラスにするけど
関数のコメントは増えるかもしれないし”””が好みだね
エディタの色分け表示の関係もあって”””使ってるけど、こだわりはそんなにない
内包表記の二重forは全然抵抗無いんだけど、csvは2次元配列だし、むしろ分かりやすいかと
_str2int関数とかは内包表記で使うために用意した
文字列をintにする場合、isdigit()で変換可能かどうかチェックしてというのを三項演算子で書いてたけど
長くなるし分かりにくいし、’ 10 ’のような文字列だとisdigit()でFalseになるからisdigit()する前に
文字列をstrip()しないとだし、floatはどうすんの?というアレがアレでこうなったというわけです
’2e+3’とかもfloat変換に対応すると判定がわけわかめなんで、一度float変換してみてエラーならダメなのねって感じです
おっ、コード見てくれるなんて有り難いね
状態は保持しないからクラスはいらないかな、デリミタをカンマ以外に
選べるようにする場合はデリミタ保持しないとアレだからクラスにするけど
関数のコメントは増えるかもしれないし”””が好みだね
エディタの色分け表示の関係もあって”””使ってるけど、こだわりはそんなにない
内包表記の二重forは全然抵抗無いんだけど、csvは2次元配列だし、むしろ分かりやすいかと
_str2int関数とかは内包表記で使うために用意した
文字列をintにする場合、isdigit()で変換可能かどうかチェックしてというのを三項演算子で書いてたけど
長くなるし分かりにくいし、’ 10 ’のような文字列だとisdigit()でFalseになるからisdigit()する前に
文字列をstrip()しないとだし、floatはどうすんの?というアレがアレでこうなったというわけです
’2e+3’とかもfloat変換に対応すると判定がわけわかめなんで、一度float変換してみてエラーならダメなのねって感じです
670デフォルトの名無しさん
2017/11/26(日) 18:13:41.39ID:xL/UhMqd まぁ、道具として使うなら、想定通りに動きゃいいけどな
671デフォルトの名無しさん
2017/11/26(日) 18:58:33.98ID:0QF+Tfxu エロチャットやるぞ
672デフォルトの名無しさん
2017/11/26(日) 19:27:04.78ID:qKR3tC8i 業務に使わせてもらっていいですか?!
あとコメント行で俺が作ったことにして書き換えたいのですが
あとコメント行で俺が作ったことにして書き換えたいのですが
673デフォルトの名無しさん
2017/11/26(日) 19:52:23.70ID:UQqD+tZj マジで言ってんの?
674デフォルトの名無しさん
2017/11/26(日) 20:03:10.38ID:Ry1/J8TT さすがに冗談だろ。
業務のコードにこんな独自実装なゴミ書いたら小一時間説教される。ていうか、俺はしたことある。
c++でstrtok使ってcsv読んでトラブル起こしたアホを。
業務のコードにこんな独自実装なゴミ書いたら小一時間説教される。ていうか、俺はしたことある。
c++でstrtok使ってcsv読んでトラブル起こしたアホを。
675デフォルトの名無しさん
2017/11/26(日) 20:07:50.74ID:esw4gVHx 真性も要らねーけどアホ自慢も要らねー
676デフォルトの名無しさん(玉音放送)
2017/11/26(日) 20:19:17.72ID:LevDKd5+ ライブラリ使うほうが怖い面もあるけどな
677デフォルトの名無しさん
2017/11/26(日) 21:49:03.89ID:mDBTtSZ5 ふぅー 落ち着いたか、、大興奮のレスバトルだったね、見ててワクワクしましたわ
さっきまでのワイの感想「今日はワイがスレの主役やでぇー、エェ? 業務使用の話まで来てるぅ 出典元はワイにしとけやガハハハ」
さっきまでのワイの感想「今日はワイがスレの主役やでぇー、エェ? 業務使用の話まで来てるぅ 出典元はワイにしとけやガハハハ」
678デフォルトの名無しさん
2017/11/26(日) 21:50:02.51ID:CpY2D/VB ベストパイソニストになりたいけど方法ある?
679デフォルトの名無しさん
2017/11/26(日) 21:51:38.81ID:S6NQJbZd680デフォルトの名無しさん
2017/11/27(月) 00:44:31.83ID:zPT1usJA681デフォルトの名無しさん
2017/11/27(月) 06:18:15.08ID:+ucRUmut 俺も書いてみた
実用性のない気持ち悪くいコードを書いたつもり
import functools
save=lambda data:'\n'.join(map(','.join,map(functools.partial(map,str),data)))
def foo(s):
try:return int(s)
except ValueError:return s.strip()
load=lambda s:[list(map(foo,s.split(',')))for s in s.splitlines()]
実用性のない気持ち悪くいコードを書いたつもり
import functools
save=lambda data:'\n'.join(map(','.join,map(functools.partial(map,str),data)))
def foo(s):
try:return int(s)
except ValueError:return s.strip()
load=lambda s:[list(map(foo,s.split(',')))for s in s.splitlines()]
682デフォルトの名無しさん
2017/11/27(月) 12:00:08.96ID:kaiasZZ9 >>647
csv_normal.pyがバージョンアップしたよ(https://ideone.com/78qd00)
・フィールドに日本語が混じっていても位置ズレしないよ
・csvファイルの読み書きにencoding指定できるようにしたよ
pandasってフィールドに日本語混じってると列が位置ズレして表示されるでしょ?
よく知らんけど、ある意味pandas超えたわガハハハ
csv_normal.pyがバージョンアップしたよ(https://ideone.com/78qd00)
・フィールドに日本語が混じっていても位置ズレしないよ
・csvファイルの読み書きにencoding指定できるようにしたよ
pandasってフィールドに日本語混じってると列が位置ズレして表示されるでしょ?
よく知らんけど、ある意味pandas超えたわガハハハ
683デフォルトの名無しさん
2017/11/27(月) 17:53:10.75ID:kaiasZZ9 >>682
csv_normal.pyが更にバージョンアップしたよ(https://ideone.com/E3CpT8)
・クラス化したよ
モジュール.関数でいちいち呼び出すのめんどくせーと感じ>>667ご指摘の通りクラス化したよ、快適になったよ
十分楽しんだので、これで最後にするよ
csv_normal.pyが更にバージョンアップしたよ(https://ideone.com/E3CpT8)
・クラス化したよ
モジュール.関数でいちいち呼び出すのめんどくせーと感じ>>667ご指摘の通りクラス化したよ、快適になったよ
十分楽しんだので、これで最後にするよ
684デフォルトの名無しさん
2017/11/27(月) 18:41:37.25ID:kbE8zzrJ 自ら進化を止めるとき、それは己の負けを意味するのだ。
負けるな>>683
負けるな>>683
685デフォルトの名無しさん
2017/11/27(月) 18:46:50.34ID:qn8iMzPT strtokは非スレッドセーフだったよな?
マルチスレッド環境でアホやったのかな
マルチスレッド環境でアホやったのかな
686デフォルトの名無しさん
2017/11/27(月) 19:02:21.35ID:x+zk8UEy Excel のCSV でも、日本語UTF-8 を扱えないのに、
文字化けしないのは、Ruby 以外では初めてかも
すごい技術力!
文字化けしないのは、Ruby 以外では初めてかも
すごい技術力!
687デフォルトの名無しさん
2017/11/28(火) 09:17:45.29ID:eQEpQbXs 車輪を作る仕事は特殊性癖の人がやればいい
普通の人はそれをどう使うかに頭使った方がいい
普通の人はそれをどう使うかに頭使った方がいい
688デフォルトの名無しさん
2017/11/28(火) 12:23:03.74ID:s1leOSNl ちんこを踏んづける用の車輪とか?
689遊園
2017/11/29(水) 02:03:12.38ID:jnHcEkAi マはデータ管理しやすい様に隙間(行間)を無くすが、事務は見やすい様に適度に謎の改行を
入れるから、csvファイルは型を崩さずに計算して出力した方が良い。
入れるから、csvファイルは型を崩さずに計算して出力した方が良い。
690デフォルトの名無しさん
2017/11/29(水) 09:20:15.32ID:0Jcv/v+k クラスのプライベートなインスタンス変数定義するとき、アンダースコア1つか2つどっち使ってる?
今すごい悩んでる。
今すごい悩んでる。
691デフォルトの名無しさん
2017/11/29(水) 09:37:02.69ID:00eiWOz6 privateなら2つ
protectedなら1つ
protectedなら1つ
692デフォルトの名無しさん
2017/11/29(水) 10:46:10.68ID:N1ji+G5b kivyの質問いいかな?
AsyncImageってので画像表示させてるんだけど、py側から渡すファイル名が同じだと画像の中身が変わっていても表示が変わらない。どうもcacheから読み込んでるらしい。kivyファイルの方に、
. AsyncImage:
. nocache: True
. source: root.file_name
とかやってみたけどダメだった。わかる人いたら教えてくらさい
AsyncImageってので画像表示させてるんだけど、py側から渡すファイル名が同じだと画像の中身が変わっていても表示が変わらない。どうもcacheから読み込んでるらしい。kivyファイルの方に、
. AsyncImage:
. nocache: True
. source: root.file_name
とかやってみたけどダメだった。わかる人いたら教えてくらさい
693デフォルトの名無しさん
2017/11/29(水) 16:14:26.22ID:wmbD4JNt .reload()
694価格が取れない(><)
2017/11/30(木) 02:48:08.03ID:4quHV4wq 世界の株価URL (http://sekai-kabuka.com/)から、
日経先物ミニの価格をスクレイピングしたいのだが、出来ない。
以下のコードで見ても価格が取れてない。
どうしたらいい?
XPathや正規表現で取れるかな?
誰か分かる人、お願いしますm(__)m
開発者ツールで見ると、価格が変わるとspanタブが閉じてしまうことと関係あるのかな?
import requests,bs4
from bs4 import BeautifulSoup
URL = "http://sekai-kabuka.com/"
res = requests.get(URL)
print(res.status_code)
r = res.content#html
soup = BeautifulSoup(r, "html.parser")
print(soup)
日経先物ミニの価格をスクレイピングしたいのだが、出来ない。
以下のコードで見ても価格が取れてない。
どうしたらいい?
XPathや正規表現で取れるかな?
誰か分かる人、お願いしますm(__)m
開発者ツールで見ると、価格が変わるとspanタブが閉じてしまうことと関係あるのかな?
import requests,bs4
from bs4 import BeautifulSoup
URL = "http://sekai-kabuka.com/"
res = requests.get(URL)
print(res.status_code)
r = res.content#html
soup = BeautifulSoup(r, "html.parser")
print(soup)
695デフォルトの名無しさん
2017/11/30(木) 05:59:17.46ID:aDlGM/9P ブラウザの右クリックメニューで、要素の検査をすれば、何のタグか分かる
696デフォルトの名無しさん
2017/11/30(木) 07:44:44.70ID:FOYY/rMw697デフォルトの名無しさん
2017/11/30(木) 08:57:15.59ID:B6s9nup6698694
2017/11/30(木) 13:15:32.27ID:4quHV4wq >>697
thx
thx
699デフォルトの名無しさん
2017/11/30(木) 16:13:19.68ID:POyH2hQQ >>683
csv_normal.pyがメジャーバージョンアップしたよ(https://ideone.com/mD1p2q)
・関数がメッチャ増えたよ
・メソッドがメッチャ増えたよ
十分楽しんだので、これで最後にするよ
csv_normal.pyがメジャーバージョンアップしたよ(https://ideone.com/mD1p2q)
・関数がメッチャ増えたよ
・メソッドがメッチャ増えたよ
十分楽しんだので、これで最後にするよ
700デフォルトの名無しさん
2017/11/30(木) 18:58:35.43ID:2Kr0Hg+S 楽しんでもらえて本望じゃわい
てか定期的なネタ投下も疲れる by 603
てか定期的なネタ投下も疲れる by 603
701デフォルトの名無しさん
2017/12/01(金) 09:32:39.92ID:I+G4kv/i いらね
702デフォルトの名無しさん
2017/12/01(金) 10:46:17.10ID:r85+E8jD anaconda使ってるけどライブラリをcondaでインストしたりpipでインストしたりで混合してる
今は普通に動いてるけど多分後で困るよね?
今は普通に動いてるけど多分後で困るよね?
703デフォルトの名無しさん
2017/12/01(金) 15:06:05.69ID:vWwQdnV3 >>702
結構、困る。
結構、困る。
704デフォルトの名無しさん
2017/12/01(金) 15:08:37.42ID:vWwQdnV3 質問です:
anaconda/Jupyterで勉強していましたが、
どうしても理解できない文法とか調べるのがつらくてIDEに頼ろうと思います。
PyCharmをインストール実行できたのですが、
anacondaで作った環境との連携方法がどうしてもわかりません。
連携して使うんですよね?
anaconda/Jupyterで勉強していましたが、
どうしても理解できない文法とか調べるのがつらくてIDEに頼ろうと思います。
PyCharmをインストール実行できたのですが、
anacondaで作った環境との連携方法がどうしてもわかりません。
連携して使うんですよね?
705デフォルトの名無しさん
2017/12/01(金) 15:24:18.10ID:cNfuWNNU706704
2017/12/01(金) 16:39:36.60ID:vWwQdnV3 >>705
有難うございました。
今まで出ていた、
tokenを設定しろ、
といったエラーメッセージは出なくなりました。
?を押しても次のセルに移動せずに止まったままです。
動いているのか動いていないのか。。。
pythonw.exeじゃなくて、python.exeであってますよね。
有難うございました。
今まで出ていた、
tokenを設定しろ、
といったエラーメッセージは出なくなりました。
?を押しても次のセルに移動せずに止まったままです。
動いているのか動いていないのか。。。
pythonw.exeじゃなくて、python.exeであってますよね。
707704
2017/12/01(金) 17:25:31.64ID:vWwQdnV3 再起動したら、ちゃんと動作しましたorz
つ I
つ I
708遊園
2017/12/01(金) 18:51:20.39ID:yuRPywGm 0.00XXを掛けたい
数値
25
入力
1
望む出力
2.5
入力
2
望む出力
0.25
入力
4
望む出力
0.0025
どうすれば実現できますか?
数値
25
入力
1
望む出力
2.5
入力
2
望む出力
0.25
入力
4
望む出力
0.0025
どうすれば実現できますか?
709デフォルトの名無しさん
2017/12/01(金) 19:01:06.10ID:6ID1L61I おまえ5ちゃん始めてか?
肩の力抜けよ
肩の力抜けよ
710デフォルトの名無しさん
2017/12/01(金) 19:30:35.17ID:dY1AoK7W 5ちゃん古参(2ヶ月)
711デフォルトの名無しさん
2017/12/01(金) 19:34:58.34ID:JqQus6W4 def f(x, i): return x/(10**i)
python3で。
python3で。
712遊園
2017/12/01(金) 20:04:00.18ID:yuRPywGm713デフォルトの名無しさん
2017/12/01(金) 20:09:03.81ID:EkSYQR1K ネタにマジレス、カコワルイ
714デフォルトの名無しさん
2017/12/01(金) 20:10:42.06ID:u7IYBZzj この煽り耐性の無さに「2ch時代」のワードの破壊力
>>662といいこのスレ優秀なコピペ原料多すぎない?
>>662といいこのスレ優秀なコピペ原料多すぎない?
715デフォルトの名無しさん
2017/12/01(金) 22:10:42.05ID:KuFa7ekd 許してやってくれ
彼はゴリラなんだ
彼はゴリラなんだ
716デフォルトの名無しさん
2017/12/01(金) 22:16:12.30ID:WVxyYcg9 なんというかまあ…古参としては安上りに盛り上がれる>>714が少し羨ましい
717デフォルトの名無しさん
2017/12/01(金) 23:54:14.02ID:tLeK6pxc かわいい
718デフォルトの名無しさん
2017/12/02(土) 00:20:33.07ID:Xx8KInD+ お前らあめぞう時代何してた?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【米FRB】0.25%利下げ決定 3会合連続、雇用下支え [蚤の市★]
- 訪米認証「ESTA」、SNS利用情報の提出義務化へ 日本人観光客も対象に [蚤の市★]
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- 【紅白】back number 白組で3年ぶり2回目の出場へ 「幅広い世代から支持」複数曲を披露する見込み [ひかり★]
- 「身を切る改革」どこへ? 維新「身内」への公金支出、地方でも続々 [蚤の市★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- おっぱいピアノがスケベな服着せられて逆さ吊りにされて演奏してる夢を見た
- お前らって議論できないよな
- 外に鳥が大量にいる
- 俺の車ガソリンタンクが80Lとカタログに書いてあるのにかなりギリギリの状態で給油しても60Lちょいしか入らない
- なんJを健康にするスレ
- 連載が40年続いたこち亀のアニメがわずか8年で終わったのは声優に芸能人を起用した事だよな
