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

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

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

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

Q&A

2回答

1679閲覧

Sについての条件式を満たすものをcsvファイルごとに出力

退会済みユーザー

退会済みユーザー

総合スコア0

Python

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

1グッド

1クリップ

投稿2019/01/20 06:02

コード if __name__=="__main__": for file in sorted(glob.glob("a/*.csv")): file_data=open(file,'r') #ファイルを読み取りモードで開く data=file_data.read() #file_dataを読み取る line_data=data.split('\n') for row in line_data: S = row.split(',') if len(S)==4: print(S)

ファイルの中身を出力するプログラムここまではできでいます。
しかし

コード if __name__=="__main__": for file in sorted(glob.glob("a/*.csv")): file_data=open(file,'r') #ファイルを読み取りモードで開く data=file_data.read() #file_dataを読み取る line_data=data.split('\n') for row in line_data: S = row.split(',') if len(S)==4: Sについての条件式を満たすものをcsvファイルごとに出力

するプログラムを作りたいのですができません、
どうすればいいでしょうか

YouheiSakurai👍を押しています

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2019/01/20 06:42

回答お願いします。 低評価を押した人は理由を教えてください。
firedfly

2019/01/20 11:27

欲しい出力の例を具体的に書いてください。
退会済みユーザー

退会済みユーザー

2019/01/20 12:27

a/1.csv [1,2,3,4] [1,2,3,5] 1/2.csv ・ ・ ・ ・ a/1.csv+a/2.csv+a/*.csv [1,2,3,4] [1,2,3,5] [] [] ・ ・ ・ []
firedfly

2019/01/20 12:53

ありがとうございます。 ただ、ここは「質問への追記・修正の依頼」です。 私以外の回答者のためにも本文に追記しましょう。 (1/2.csvはa/2.csvの間違いですよね?)
firedfly

2019/01/20 12:56

あと「a/1.csv+a/2.csv+a/*.csv」の意味も もう少し詳しくかいてもらえれば幸いです。
退会済みユーザー

退会済みユーザー

2019/01/22 14:52

できれば早急に回答お願いします
guest

回答2

0

コードへ以下のように色をつけてみました。

  • 水色:ファイルごとの繰り返し部分
  • 黄緑:ファイル内の列ごとの繰り返し部分
  • ピンク:繰り返しが終わった後の部分

code

そして期待する出力にも以下のように対応する色をつけてみました。

  • 水色星:ファイルごとの繰り返し部分で処理すべきこと
  • 黄緑星:ファイル内の列ごとの繰り返し部分で処理すべきこと
  • ピンク星:水色星と黄緑星が自分でできた人だけが考えることを許されるスペシャル星

output

質問

どうすればいいでしょうか

回答

まずは水色星と黄緑星から取り組みましょう。

投稿2019/01/20 21:58

編集2019/01/20 22:00
YouheiSakurai

総合スコア6142

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

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

退会済みユーザー

退会済みユーザー

2019/01/21 00:50

わかりやすいです!参考に取り組んでいきたいと思っております!
退会済みユーザー

退会済みユーザー

2019/01/21 05:54

はい, 本題の回答を宜しくお願いします。
firedfly

2019/01/21 09:38

感動的にわかりやすいです。 「a/1.csv+a/2.csv+a/*.csv」はそういう意味だったんですね……。
退会済みユーザー

退会済みユーザー

2019/01/21 11:41

各csvファイルのにおいて条件式を満たすものの個数, および a/1.csvとa/2.csv...a/n.csvファイルの条件式を満たすもの合計個数を出力しなさい。
YouheiSakurai

2019/01/21 11:44

指示ではなく質問お願いします。
退会済みユーザー

退会済みユーザー

2019/01/22 14:48

各csvファイルのにおいて条件式を満たすものの個数, および a/1.csvとa/2.csv...a/n.csvファイルの条件式を満たすもの合計個数を出力しなさい
guest

0

「Sに関する条件式」を具体的に指定していないので、条件式は len(S) == 4 だと仮定します。

python

1if __name__=="__main__": 2 3 valid_line_count = 0 4 files = sorted(glob.glob("a/*.csv")) 5 6 for file in files: 7 file_data=open(file,'r') #ファイルを読み取りモードで開く 8 data=file_data.read() #file_dataを読み取る 9 line_data=data.split('\n') 10 11 print(file) 12 13 for row in line_data: 14 S = row.split(',') 15 16 if len(S)==4: 17 print(S) 18 valid_line_count = valid_line_count + 1 19 20 print('+'.join(files)) 21 print(valid_line_count)

投稿2019/01/24 04:46

mather

総合スコア6753

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

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

退会済みユーザー

退会済みユーザー

2019/01/24 04:48

これは2次元配列になっていますか?
mather

2019/01/24 05:02

いつ「2次元配列」と指定しましたか? 逆に聞きたいのですが、「出力」は具体的に何をどこにどういうフォーマットで出力するのですか? このコメントではなく、質問内容を更新してください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問