2016-12-30 9 views
1

ディレクトリにCSVファイルがあり、それぞれのファイルを開き、最初の列を読みたいとします。なぜディレクトリ内のすべてのcsvファイルを読み取る

FileNotFoundError: [Errno 2] No such file or directory : 'file1.csv' 

任意のアイデア:私はそれを実行すると

directory = os.path.join("c:\\","/Users/user/My Documents/test/") 
for root,dirs,files in os.walk(directory): 
    for file in files: 
      f = open(file, 'r') 
      reader = csv.reader(f) 
      for row in reader: 
       print(row[0]) 

が、私はエラーを得た:ここに私のコードはありますか?

答えて

0

私はそれを解決する方法を見つけ出す:

directory = os.listdir('/Users/user/My Documents/test/') 
os.chdir('/Users/user/My Documents/test/') 
for files in directory: 
      with open(files, 'r')as f: 
      reader = csv.reader(f) 
      for row in reader: 
       print(row[0]) 
0

os.walkがあまりにもすべてのサブディレクトリを再帰的に歩くので、それが起こっています。だからあなたのコードは、すべてのファイルが現在のディレクトリにあると仮定すべきではありません。

directory = os.path.join("c:\\","/Users/user/My Documents/test/") 
for root,dirs,files in os.walk(directory): 
    for file in files: 
     f = open(os.path.join(root, file), 'r') # I have considered root path too 
     reader = csv.reader(f) 
     for row in reader: 
      print(row[0]) 
関連する問題