2012-02-27 13 views
3

27,000行×22列の大きさのCSVファイルを計算するスクリプトを作成しました。 CSVファイルをこのスレッドのように分散したプロットでmatplotlibで使用するには、どうすればこのファイルを読むことができますか?Python:CSVファイルを読み込んで散布図をプロットする

axis range in scatter graphs

散布図を生成する概念が理解されます。

data=csv.reader(open('some_file.csv, 'rb'), delimiter='|', quotechar='"') 

など、CSVファイルを解析する試みが行われていますが、成功していません。

+6

具体的には「成功していない」という意味ですか?エラーメッセージや何が間違っているのか他の兆候を伝えることができますか?私たちは本当に推測することはできません。 –

+1

さらに詳しい情報が必要ですが、ここに投稿されたコードに構文エラーがあります: '' somefile.csv'は一重引用符を閉じる必要があります。それは単にタイプミスでしたか? – Mike

+2

@Mike:**実際の**エラーメッセージがなければ、それは非常にうまく問題になる可能性があります。または。問題は、データが読者に過ぎず、実際に必要なデータではないということです。遅い応答にお詫び申し上げます。 –

答えて

9

ここで迅速な解決

def getColumn(filename, column): 
    results = csv.reader(open(filename), delimiter="\t") 
    return [result[column] for result in results] 

あり、その後、あなたがこの

time = getColumn("filename",0) 
volt = getColumn("filaname",1) 

plt.figure("Time/Volt") 
plt.xlabel("Time(ms)") 
plt.ylabel("Volt(mV)") 
plt.plot(time,volt) 
1

のようにそれを使用することができますが、正しい区切りということですか?あなたはその文書を読んだことがありますか? http://docs.python.org/library/csv.html

dataはファイルのようなオブジェクトです。データにアクセスするには、それを反復処理する必要があります。彼の例ではmarcusが指摘しているように、各行はリストです。一般的な代替案として

1

、あなたはウェス・マッキニーによってパンダのPythonパッケージに興味があるかもしれない:http://pandas.pydata.org/

それは文字通りのpythonでのデータ解析のための私の人生を変えました。これは、Rのdata.frameに似ていますが、さらに強力なデータ構造を持つPythonを提供します。そして、それはnumpyの上に構築されます。

そして、簡単にスライスして操作できるDataFrame(numpy配列サブクラス)にデータをロードすることで、非常に簡単にcsvファイルを読み込みます。

関連する問題