LoginSignup
3
6

More than 5 years have passed since last update.

【python】フォルダにあるcsvファイルを読み込んで処理をする

Last updated at Posted at 2018-10-13

フォルダの中にあるファイル一式に対し、処理をします。

./csv フォルダの中の csvファイル一式に対し、ある処理をして保存するというケースを想定しています。

qiita.rb
import os
import numpy as np

#----------- path にあるファイルの一覧を配列形式で返す

path = "./csv"

files = os.listdir(path) # ディレクトリにあるファイル一覧を取得
#print(type(files))  # <class 'list'> タイプを確認
#print(files)        # ファイル一覧を表示

#-------- for文を使って、ひとつずつファイルを処理する
# i = 0  (修正)初期化は不要でした

#for i in range(len(files)):
#    print(files[i]) #処理したファイルを確認する (修正)直接要素を回す方法に変更

for filename in files:
    print(filename) #処理したファイルを確認する

    # ファイル名の設定
    #fullpath = path + "/" + files[i]  (修正)直接要素を回す方法に変更
    #savefilename = "s_" + files[i]    (修正)直接要素を回す方法に変更
    fullpath = path + "/" + filename 
    savefilename = "s_" + filename
    savefilefullpath = path + "/" + savefilename

    #print(fullpath)
    #print(savefilename)
    #print(savefilefullpath)

    #----CSVを読み込んで配列形式に

    f = np.genfromtxt(fullpath, delimiter=",", dtype='float')
    #   ヘッダ行がある場合  skip_header=1 を追加。 1はヘッダの行数

    #---スライシング
    F = f[:5]
    np.savetxt(savefilefullpath, F, fmt='%.3f', delimiter=",")


3
6
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6