2017-11-22 15 views
-1

私は現在、Pythonの初心者コースです。 genfromtxtやその他の事前に書かれたファイル読み取り機能を使用せずに、データファイルの内容を浮動小数点配列data2に読み込むように指示しています。したがって、ファイルオブジェクトを作成し、アクセス、変換などのために文字列メソッドを使用する必要があります。最初の列を浮動小数点数としてyyyy-mm-ddにします。私はこのようなことをどうやってやるのか少し迷っていて、これについての方法や方法について少し助けてくれることを期待していました。あなたPythonはCSVファイルを読み込みません。

data2 = [] 
with open('sp500_1950-01-03_to_2016-10-07.csv', 'r') as myfile: 
    for line in myfile: 
     data = line.rsplit(',') 
     data2.append(data) 
print(data2) 

ありがとうこれは私がこれまで持っているものですが、私はこれを行う方法がわからないんだけど、独自のインデックスを持っており、フロートするすべての値/番号が必要です。

finance.yahoo.com/quote/%5EGSPC/history?p=%5EGSPCこれは、私たちが読むはずのdata/csvファイルへのリンクです。それ以外では、私たちは自分自身で方法を考え出すことになっています。

+0

残念ながら、私たちがあなたを助けるためには、あなたがしたことを私たちに示す必要があります。私はそれが入門クラスであると仮定している、彼らはあなたにこの問題に取り組むためのツールを提供するだろうか? – roelofs

+0

申し訳ありませんが、できることを書く必要がありますし、そこからあなたを助けることができます。 SOはコード作成サービスではありません。 – roelofs

答えて

0

質問は明確ではありませんが、

最初の質問:最初の列を浮動小数点数としてyyyy-mm-ddにすることができます。 2017.11.22と言うと、これは浮動小数点ですか?

このようなものをお探しですか?

for line in open("my_file.csv"): 
     line_read_as_list = line.split(',') 

csvファイルの区切り文字は何ですか。コンセプト:リストの行分割として読む。

最初の列が "yyyy-mm-dd"形式の場合は、line_read_as_listでline_read_as_listを ' - 'で分割し、年、月、日を別々のリストに取り込みます。あなたは自分で試してみるべきです。これを行うには多くの方法があります。

yyyy.mm.ddの形式に戻す場合は、単に ' - 'を '。'で置き換えます。文字列でなければなりません。

+0

あなたの最初のリストの理解で 'for i in line.split( '、')'、 'i'は文字列なので、' isinstance(i、float) 'は常に' False '; 'line_read_as_list = line.split( '、')'に 'line_read_as_list = [i for i]を単純化することができます。' line.split( '、') 'リスト。 –

+0

はい、あなたは正しいです!私はこのコードを実行していません。質問にも例はありません。私は編集しました。 – Patrick