2017-06-23 4 views
0

でcsvファイルを読むために、私は次のように、このcsvファイルがあります。 enter image description herePythonの:どのように列順

を、私は今だけの行のためにそれを読むする方法を知っています。これは私が書いたものである:

import csv 
enrollments=[] 

f=open('D911_Leistung.csv','rb') 
reader=csv.reader(f) 

for row in reader: 
    enrollments.append(row) 

f.close() 

print(enrollments[0]) 

、何現れることは単一の行です:enter image description here

私はすべてのチャンネルのデータを分割したい、それを実現する方法はありますか?

+0

'for column in rows 'は良いスタートになります... –

答えて

1

あなたはこのためにpandas機能read_csvを使用することができます。

import pandas as pd 

df = pd.read_csv('D911_Leistung.csv', sep=';') 

これはDataFrameを作成します。一般に、pandasは、構造化データを処理するための本当に強力なライブラリです。 Pythonでプログラミングするのが初めての方は、pandasはimhoを学ぶのに最適なライブラリです。

+0

私にパンダを導入していただきありがとうございます!私はすでにパンダと恋に落ちている! –

1

純粋なPythonアプローチを使用する場合は、各行の項目を別々のリストに入れることができます(データの読み込み時に転置)。 (python2でテスト)

import csv 
with open('D911_Leistung.csv','rb') as f: 
    reader = csv.reader(f)  

    for i, row in enumerate(reader): 
     if i == 0: 
      data = [[] for _ in range(len(row))] 

     for j, col in enumerate(row): 
      data[j].append(col) 

またnumpyを使用してデータをロードし、それを移調することができます。

from numpy import genfromtxt 
my_data = genfromtxt('my_file.csv', delimiter=';').T 
+0

スクリーンショットから、' delimiter'は ';''でなければなりません。 CSVリーダーはカンマが足りないので、各行を1つの列として読み取るようになりました。 – 9000

+0

@ 9000ありがとう!私は逃しました。 –

+0

私はあなたのやり方を試してみましたが、ファイルが大きなものになっているように思えますし、いつも詰まってしまいます。 –

関連する問題