teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

解決

2017/04/17 00:29

投稿

starrow1103
starrow1103

スコア137

title CHANGED
File without changes
body CHANGED
@@ -25,4 +25,16 @@
25
25
 
26
26
  どうしたら、通常のファイルのように読み出すことができるでしょうか?
27
27
 
28
- ご教授よろしくお願いいたします。。。
28
+ ご教授よろしくお願いいたします。。。
29
+
30
+
31
+ ## 解決
32
+ 単純に、
33
+
34
+ ```python
35
+ f = io.StringIO(csv_data)
36
+ data = csv.reader(f, delimiter=',', quotechar='"')
37
+ for row in data: yield row
38
+ ```
39
+
40
+ これでいけました

1

修正

2017/04/17 00:28

投稿

starrow1103
starrow1103

スコア137

title CHANGED
File without changes
body CHANGED
@@ -7,8 +7,8 @@
7
7
 
8
8
  url = "http://hogehoge/00001" # web上のcsvファイル
9
9
  response = urllib.request.urlopen(url)
10
- csv = response.read().decode('utf-8')
10
+ csv_data = response.read().decode('utf-8')
11
- csv_file = io.StringIO(csv) #メモリにオブジェクトとして保存
11
+ csv_file = io.StringIO(csv_data) #メモリにオブジェクトとして保存
12
12
 
13
13
  print(csv_file.read())
14
14
  ```
@@ -17,7 +17,7 @@
17
17
  このcsv_fileを受け取って、readerで読み込むと、StringIOにはreader()がないよ!もしくは、strでおにゃしゃすと言われてしまいます。
18
18
 
19
19
  ```python
20
- with open(self.csv_file,'r',encoding="utf-8") as f:
20
+ with open(csv_file,'r',encoding="utf-8") as f:
21
21
  data = csv.reader(f, delimiter=',', quotechar='"')
22
22
  for row in data: yield row
23
23
  ```