2016-09-22 11 views
0

こんにちは私は、大きなCSVファイルをソートするために小さなプログラムを作成する際にこのエラーが発生し続けています。私のコードとエラーは何ですか?Python CSVエラー

if selection: 
     for stuff in stuffs: 

      try: 
       textFile = open("output.txt",'w') 
       mycsv = csv.reader(open(stuff)) 
       d_reader = csv.DictReader(mycsv) 
       headers = d_reader.fieldnames <-- Error happens here 
       if selection in headers: 
        placeInList = headers.index(selection) 

        #placeInList = selection.index(selection) 
        for selection in tqdm(mycsv, desc='Extracting column values...', leave = True): 
         textFile.write(str(selection[int(placeInList)])+'\n') 
        print 'Done!' 
        textFile.close() 
        sys.exit() 
      except IOError: 
       print 'No CSV file present in directory' 
       sys.exit() 
    else: 
     sys.exit() 

とエラー:

Traceback (most recent call last): 
File "postcodeExtractor.py", line 27, in <module> headers = d_reader.fieldnames 
File "C:\Python27\lib\csv.py", line 90, in fieldnames self._fieldnames = self.reader.next() 
TypeError: expected string or Unicode object, list found 
+1

エラーログを表示できますか? – harshil9968

+0

どの行にこのエラーが表示されますか? –

+0

トレースバック(最新の呼び出しの最後): ヘッダの ファイル "postcodeExtractor.py"、ライン27、= d_reader.fieldnames ファイル "C:\ Python27 \ libに\ csv.py"、ライン90、フィールド名 自己中._fieldnames = self.reader.next() TypeError:期待される文字列またはUnicodeオブジェクト、リストが見つかりました – nagrom97

答えて

0

代わりの

mycsv = csv.reader(open(stuff)) 
d_reader = csv.DictReader(mycsv) 

あなたが最初の行に問題がある

d_reader = csv.DictReader(open(stuff)) 

をしたいです。

+0

これはうまくいきませんでした:( – nagrom97

+0

それは申し訳ありません。 – tipanverella