2017-11-15 21 views
-2

私はプロットして計算するんすることができますPythonのリストに.CSVリストを作成する方法を知りたい:.csvリストからpythonリストを作成するには?

私が使用:

fpath = r'C:112017\temp\tT.csv' 
    with open(fpath,'r') as csvfile: 
     reader = csv.reader(csvfile, delimiter=',') 
     for row in reader: 
      print(list(reader)) 

それは私がいけないいる(私にこのようなリストを提供します私は

print(row) 

を使用する場合は

[['2014-12-30', '18.34244791666665'], ['2014-12-31', '18.540224913494818'], ['2015-01-01', '18.15729166666666'],...... 

それは私に李を与える:)したいです私はまだ計算に使用することはできません。

...   
    ['2016-07-27', '20.434809022479584'] 
    ['2016-07-28', '21.395138886239796'] 
    ['2016-07-29', '20.81571181284057'] 
    ['2016-07-30', '20.565711801250778'] 
    ... 

リストを作成するにはどうすればよいですか?または、これを達成するための簡単な方法はありますか?私はいくつかの基本的なミスがあると思います

date = row[0] 
    temp = row[1] 
    lis = pd.DataFrame(date,temp) 

が、私は自分でそれを修正することはできません。のようなものを使用することが可能ということです。 お時間をいただきありがとうございます。

+0

ループ内の 'list(reader)'はすぐに停止するので奇妙です。期待される出力は何ですか?試したコードは設計どおりに動作するからです。 –

+0

リスト(リーダー)からの出力は最初の出力[['' 2014-12-30 '、'18 .34244791666665']、['2014-12-31'、'18 .540224913494818 ']、...]と同じです。 – Jenny

答えて

4

例:CSVファイルを読み込み、データフレームを返しますpandas.read_csv()方法があります:

fpath = r'C:112017\temp\tT.csv' 
df = pd.read_csv(fpath, delimiter=',', names=['date', 'temp']) 
+0

ドンOSError:ファイルからの初期化が失敗しました – Jenny

+0

@Jenny:この解決策を試してください:https://stackoverflow.com/a/16952651/6619424 – Arun

+0

このリンクは非常に便利です!ありがとうございました! – Jenny

1

は、私はあなたがすなわち、日付と温度の一覧リストとして列を取得しようとしていると思います。

fpath = r'C:112017\temp\tT.csv' 
with open(fpath,'r') as csvfile: 
    reader = csv.reader(csvfile, delimiter=',') 
    data = list(reader) 

date, temp = list(map(list, zip(*data))) 
# for python 2 use map(list,zip(*data)) 
# converting temp to float 
temp = list(map(float,temp)) 
+0

いいですが、 'temp'リストのために浮動小数点に変換する方がさらに良いでしょう。 –

+0

@ Jean-FrançoisFabre提案をいただきありがとうございます。私は私の答えを更新しました。また、必要に応じてリスト内包を使用することもできます。 –

+0

この方法でも、ありがとう! – Jenny

0

私の意見では、.csvファイルのデータを使って計算を実行する場合は、pandasとnumpyの使用を検討する必要があります。

import pandas as pd 
import numpy as np 

# importing dataframe 
df = pd.read_csv('filename.csv', delimiter=',') 
# check the dataframe 
print (df) 
関連する問題