トップページ > プログラム > 2015年04月06日 > WONhOiZc

書き込み順位&時間帯一覧

9 位/178 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000001111000000004



使用した名前一覧書き込んだスレッド一覧
870
くだすれPython(超初心者用) その25©2ch.net

書き込みレス一覧

くだすれPython(超初心者用) その25©2ch.net
876 :870[sage]:2015/04/06(月) 12:00:16.96 ID:WONhOiZc
>>874
ありがとうございます。

import csv
import urllib.request

url = 'http://www.tepco.co.jp/forecast/html/images/juyo-2013.csv'
reader = csv.reader( urllib.request.urlopen(url).read().decode('cp932') )

for row in reader:
print(row)

これで一応エラーはでないで読み込むことはできるようになったのですが
なぜか文字が一文字ずつに分割

他のCSVで試してみると[', ']や改行?の[]が入っているようです。
上記の方法でやればこのようなことにはならないのでしょうか?
くだすれPython(超初心者用) その25©2ch.net
879 :870[sage]:2015/04/06(月) 13:55:04.81 ID:WONhOiZc
>>877,878
勉強不足ですみません。
python3なためreauests.getが見つかりませんでした。

http://diveintopython3-ja.rdy.jp/files.html
>io.StringIOを使うと、文字列をテキストファイルのように扱うことができる。

import csv
import io
import urllib.request

url = 'http://www.tepco.co.jp/forecast/html/images/juyo-2013.csv'
reader = csv.reader(io.StringIO(urllib.request.urlopen(url).read().decode('sjis')))

for row in reader:
print(row)

で目的通りに動くようになりました。
responseをcodecs.StreamReaderでラップについては勉強します。
くだすれPython(超初心者用) その25©2ch.net
880 :870[sage]:2015/04/06(月) 14:04:20.87 ID:WONhOiZc
>>877
CSVでもダブルクォーテーションで囲む文字列文字は文字列で処理されています。

こちらの資料によると
http://itdoc.hitachi.co.jp/manuals/3020/30203698A0/swrj0068.htm

ダブルクォーテーションで囲まない文字列
区切り文字の間のすべての文字が値とみなされます。
コンマ(,)を文字列の値として記述することはできません。
区切り文字であるコンマ以外の文字はすべて値となります。したがって,アポストロフィ(')や空白文字も値とみなされます。

CSVの仕様でダブルクォーテーションで囲まないため1文字ずつの処理になっているのだと思います。
くだすれPython(超初心者用) その25©2ch.net
882 :870[sage]:2015/04/06(月) 15:05:00.21 ID:WONhOiZc
>>881
そうなんですか勉強不足ですみません。

プログラムありがとうございます。
勉強させていただきます。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。