2017-09-22 9 views
0

.csvファイルからすべてのデータを読み込もうとしています。最初に、私はcsv.reader()を使ってみましたが、これは私のファイルの最初の行をスキップします。 .readlines()を使用してこれを修正することができましたが、.reader()でこれがどうして起こり、私の最初の行を読ませたいのかと思います。あなたはこの行があなたの最初の行を取っているし、その後、読者が第二から始まるfor line in f:を使用する必要がいけない、あなたの最初の関数で.reader()を使用して最初の行をスキップし、.readlines()が使用されないのはなぜですか?

import glob 
import csv 

new_cards = [] 
path = 'C:\\Users\\zrc\\Desktop\\GCData2\\*.asc' 
files = glob.glob(path) 


# First Method 

for name in files: 
    with open(name) as f: 
     for line in f: 
      reader = csv.reader(f, delimiter=',', quoting=csv.QUOTE_NONE) 
      for row in reader: 
       new_cards.append(row) 
print(len(new_cards)) 


# Second Method 

for name in files: 
    with open(name) as f: 
     m = f.readlines() 
     for line in m: 
      new_cards.append(line) 

print(len(new_cards)) 
+0

for row in reader:でそれをやっているので、あなたが最初の1の各行を反復処理する必要がいけない

for name in files: with open(name) as f: reader = csv.reader(f, delimiter=',', quoting=csv.QUOTE_NONE) for row in reader: new_cards.append(row) print(len(new_cards)) 

'*が、これはcsvファイルであるか.asc'ファイル? – bhansa

+0

[行](https://github.com/turicas/rows)のlibを試しましたか?読みやすくするcsvと構造化データ –

+0

@bhansa .ascは、私が使っているプログラムが書いている形式です(カンマ区切りのファイルです)。私は正常にこれらのファイルにcsv.reader()を使用しました。一度に多くのことをやろうとすると、困っているようです。 – jchand20

答えて

3

正しい方法は次のようになります。あなたはすでに

関連する問題