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

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

新規登録して質問してみよう
ただいま回答率
85.35%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

2回答

1932閲覧

Pythonでcsvのデータを行ごとに抜き出したい

waichan

総合スコア0

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/10/16 09:19

Pythonを学んでます。

"file-MF.csv"というcsvファイルがあり、
行ごとにデータを100,000ずつ取り出し、
新しく"parts"というフォルダに
"file-1MF.csv"
"file-2MF.csv"
...
のように全て取り出し終わるまで
ファイルを作りたいのですがやり方が分かりません。
よろしくお願い致します。

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

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

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

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

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

takutakuya

2020/10/16 09:42

「やり方が分かりません。」だと丸投げの質問になっています。 質問を投稿する前に「質問する前に確認していただきたいこと」が表示されるはずですので、その内容は極力守っていただくようにお願いします。 最低限、やりたいことに対して、どこまでは分かっていて、どの部分が分からないのかだけでも明確にしてください。そして、分かっている部分をコードに書いて、それの提示をお願いします。
Daregada

2020/10/16 10:12

質問者の方は、小さなテキストファイルの内容を1行ずつ読み込んで画面に表示するコードは書けますか? それを別のテキストファイルひとつに書き込むコードは?
meg_

2020/10/16 11:22

> "file-MF.csv"というcsvファイルがあり、行ごとにデータを100,000ずつ取り出し、 そのファイルは100,000行あるってことですか? > 新しく"parts"というフォルダに フォルダも作成するということですか?フォルダ作成方法については調べればすぐに分かるはずですので調べましょう。
Daregada

2020/10/16 11:28

Unix系のsplitコマンドを使えばいいのにな。 mkdir parts split -l100000 --numeric-suffixes=1 --additional-suffix=MF.csv file-MF.csv parts/file-
guest

回答2

0

なにをやりたいのかいまいちわかってませんが、
行ごとの処理でいいなら、文字列の1行読み込み、と書き込み、を繰り返せばいいのでは

投稿2020/10/16 09:25

y_waiwai

総合スコア88042

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

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

takutakuya

2020/10/16 09:28

さすがにこういう回答はダメじゃないですか? やりたいことが分からないなら、追記・修正依頼を出すべきではないですか?
y_waiwai

2020/10/16 09:30

修正依頼ですべてだしてくれればいいんですけどねえw
takutakuya

2020/10/16 09:32

そういう質問者を馬鹿にするような態度は改めたほうが良いと思いますよ。
y_waiwai

2020/10/16 09:34

それは被害妄想じゃないかと。 あなたが回答していただいてもいいんですよ
takutakuya

2020/10/16 09:39

何かがっかりです。 この質問は丸投げの質問になっているので、今の段階で回答は出しません。
y_waiwai

2020/10/16 09:41

どうぞどうぞ。
guest

0

質問文にある動作とはすこしちがいますが、次のコードを研究してみてください、

in.csv を 3 行ごとに分割したファイル file*-MF.csv を生成しています。
各csv はヘッダー行をもたせています。

p.py

pythpn3

1in_file = 'in.csv' # 'file-MF.csv' 2out_file = 'file{}-MF.csv' 3 4MAX_LINE = 3 5 6file_num = 100 7f_out = None 8head_line = '\n' 9 10with open(in_file, 'r') as f: 11 head_line = f.readline() 12 line_num = 0 13 14 while True: 15 line = f.readline() 16 if not line: 17 break 18 if not f_out: 19 file_num += 1 20 f_out = open(out_file.format(file_num), 'w') 21 f_out.write(head_line) 22 line_num = 0 23 24 f_out.write(line) 25 line_num += 1 26 if line_num == MAX_LINE: 27 f_out.close() 28 f_out = None 29if f_out: 30 f_out.close()

実行例
イメージ説明

投稿2020/10/17 00:35

katoy

総合スコア22324

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問