2017-04-07 15 views
1

私はcsvファイルを操作する際に問題があります。 私のCSVファイルには、 'Start Time'と 'Complete Time'という列があり、それを使って 'Duration'列を取得したいと思います。 duration = row[2] - row[1]を試してみたところ、エラーメッセージPython - csvの開始時間と終了時間の列で 'duration'列を取得するにはどうすればよいですか?

'unsupported operand type(s) for -: 'str' and 'str'が表示されました。

+0

ここにコードを投稿するとうまくいくでしょう。また、文字列の違いを計算することはできません。文字列を日付に変換する必要があります。それについては、['strptime'](https://docs.python.org/3/library/datetime.html#datetime.datetime.strptime)を参照してください。 – hlt

+0

1)CSVをpandasデータフレーム - http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.htmlにインポートする方法を調べてください。 2)pandasの時間と日付を扱う方法をここでお読みください - http://pandas.pydata.org/pandas-docs/stable/timeseries.html 3)pandasデータフレームをcsv:httpにエクスポートする方法はこちら://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html –

+0

あなたのコードを投稿してください! – elena

答えて

0

CSVファイルから得られたデータは、STR型であるため、あなたが操作を行うことはできません。

duration = row[2] - row[1] 

私は最初の変換行にあなたをアドバイス[2]、[1]コンテンツを行う、と次に操作を行います。

import time 
complete_time = time.strptime(row[2]) 
start_time = time.strptime(row[1]) 
duration = complete_time - start_time 
関連する問題