2017-05-12 10 views
0

私は「%s」は%のヴァールを使用して最初に試みとなりました{0}」を使用してイム、ここに私のコードだPythonの書き込みのcsvエラー

import csv 
#Header of rows 
HYear=[' ','Year','2017'] 
HMonth=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'] 
HData=['01','02','03','04','05','06','07','08','09','10','11','12','13','14','15','16','17','18', '19','20','21','22','23','24','25','26','27','28','29','30','31'] 
#write csv 
with open('test.csv', 'w') as csvfile: 
    fieldnames = ['{0}','{1}'.format(HYear[0],HYear[1])] 
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames) 

    writer.writeheader() 
    writer.writerow({'{0}': ' '  , '{1}': 'MONTH' .format(HYear[0],HYear[1])}) 
    writer.writerow({'{0}': 'STATION', '{1}': 'CODE' .format(HYear[0],HYear[1])}) 

をのpythonを使用してCSVファイルを書くための簡単なコードを足しますよ'.format(Var)いくつかのリスト、タプルのエラーのために... 問題はそれがまだ読んでいないか働いていることです。 上記のコードはテストのためのものですが、最後に私はカレンダーのようなcsvを生成するために行っています。

#Error 

File "test.py", line 15, in <module> 
writer.writerow({'{0}': ' '  , '{1}': 'MONTH' .format(HYear[0],HYear[1])}) 
File "/usr/lib64/python2.7/csv.py", line 148, in writerow 
return self.writer.writerow(self._dict_to_list(rowdict)) 
File "/usr/lib64/python2.7/csv.py", line 144, in _dict_to_list 
", ".join(wrong_fields)) 
ValueError: dict contains fields not in fieldnames: {1} 

事前に感謝

答えて

2
fieldnames = HYear[:2] 
    ... 
    writer.writerow({HYear[0]: ' '  , HYear[1]: 'MONTH'}) 
    writer.writerow({HYear[0]: 'STATION', HYear[1]: 'CODE' }) 

以上pythonistic:

writer.writerow(dict(zip(fieldnames, (' ', 'MONTH')))) 
    writer.writerow(dict(zip(fieldnames, ('STATION', 'CODE')))) 
+0

感謝の男!感謝します – gilgameshbk

関連する問題