2016-05-13 7 views
-1

私はcsvファイルをオープンしようとしています。エラー "AttributeError: 'str'オブジェクトに 'day'属性がありません。私は、ファイルのいずれかがAttributeError: 'str'オブジェクトに属性がありません 'day'エラーが発生しました

data = {'days': [], 
     'times': []} 

with open(open_file) as in_f: 
    reader = DictReader(in_f) 
    for line in reader: 
     data['day'].append(line['time_received_isoformat'].day) 
     data['time'].append(line['time_received_isoformat'].hour * 60 + line['time_received_isoformat'].minute) 
     data = DataFrame(data) 
     plot = seaborn.stripplot(data=data, x='day', y='time') 
     plot.get_figure().savefig('/home/jacob/Projects/CIS2302/CW2/ddd_cw2/temporal_graphs/' + 'days_stripplot' + '.png') 
     pyplot.close() 
+0

行['time_received_isoformat']は、辞書ではなく文字列を返すようです。 –

+0

Ino、しかし私はそれを解決するために何をすべきかわかりません... – Jake123

答えて

0

in_fのように見えることreaderは、そのファイルとDictReaderオブジェクトであり、lineが文字列の辞書で、ファイルオブジェクトが何であるかに画像を追加しました。したがって、CSVファイルには文字列が含まれているため、line['time_received_isoformat']は文字列に解決されます。文字列にはday属性はありません。それらがday属性を持つdateまたはdatetimeオブジェクトとして解析されるようにするには、dayを見つけようとする前に、その文字列をそのオブジェクトに変換する必要があります(正確なフォーマットによって異なります)。

+0

どのような形式を使用しているのですか? – Jake123

+0

@JacobFlynn 'time_received_isoformat'はどのように見えますか?タイムスタンプにはいくつかの有効なISOフォーマットがあります。 –

+0

CSVファイルの内容が表示されないので、そのフィールドの解析方法を正確に伝えることはできません。あなたのプログラムに、どのような文字列を期待し、何をするべきかを伝える必要があります。 – TigerhawkT3

関連する問題