質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

2回答

124閲覧

Python,csvファイル読み込みにつきまして

Behemoth

総合スコア29

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

1クリップ

投稿2018/07/11 02:52

こんにちは。お世話になっております。

~csv flle~ A a b c d e f (空白) 1 2 3 4 5 6 (空白) .......

このように1つのrowで構成されたcsvファイルがあるとします。
このような場合に、python(3.4.1)でcsvファイルを読み出し、空白を区切りに、配列を作ることはできるのでしょうか?
上記の例ですと、[a,b,c,d,e,f],[1,2,3,4,5,6]といったようなものを作りたいです。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

iter関数を使うのもアリです。

Python

1with open('data.csv') as f: 2 read = lambda: f.readline().strip() 3 4 list(iter(read, '')) 5 data1 = list(iter(read, '')) 6 data2 = list(iter(read, '')) 7 8print(data1, data2)

実行結果 Wandbox

plain

1['a', 'b', 'c', 'd', 'e', 'f'] ['1', '2', '3', '4', '5', '6']

投稿2018/07/11 03:46

LouiS0616

総合スコア35660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Behemoth

2018/07/11 06:12

ご回答ありがとうございます。 list関数に関して自分でも調べていきたいです。 大変勉強になりました。
guest

0

ベストアンサー

python

1result = [] 2post = [] 3 4for line in open('xxx.csv', 'r'): 5 line = line.strip('\n') 6 if line == '': 7 result.append(post) 8 post = [] 9 continue 10 post.append(line) 11

って感じではどうでしょう。パッと思いついた感じなので、もっといい回答があると思いますが。。。
このコードは、最後に空白がないと、二番目のリストは取得できないですが。
データの性質がわかっているなら、それに合わせてコードを編集すると良いと思われます

投稿2018/07/11 03:22

編集2018/07/11 03:23
hayata-yamamto

総合スコア31

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Behemoth

2018/07/11 06:01

返信が遅くなりました。 ご回答ありがとうございます。 大変参考になりました。 if line == '': このif文が効いていないようなのですが、何か対策はありますでしょうか? よろしくお願いいたします。
hayata-yamamto

2018/07/11 07:25 編集

データの文字列を確認してもらうのが良いと思います。 'a \n'みたいに空白等がはいっていると、条件文を変えた方が良いかもです
Behemoth

2018/07/11 07:34

ご返信ありがとうございます。 if line == '""': としたところ上手くいきました。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問