2013-06-23 9 views
39

このように、パイソンを使用してCSVデータを読み込むの例がたくさんある:Pythonで1行のcsvデータを読むには?

import csv 
with open('some.csv', newline='') as f: 
    reader = csv.reader(f) 
    for row in reader: 
    print(row) 

私はデータのみの1行を読んで、様々な変数にそれを入力します。それ、どうやったら出来るの?私は実際の例をどこからでも見てきました。

私のコードは、私だけの値を取得し、他の値

reader = csv.reader(csvfile, delimiter=',', quotechar='"') 
for row in reader: 
    i = int(row[0]) 
    a1 = int(row[1]) 
    b1 = int(row[2]) 
    c1 = int(row[2]) 
    x1 = int(row[2]) 
    y1 = int(row[2]) 
    z1 = int(row[2]) 
+0

あなたのCSVファイルの構造が何であるかCSVファイルの任意の行を取得するための簡単な方法はありますか?読者を繰り返すときに '行'とは何ですか? – dm03514

答えて

15

のどれもあなたのようなだけの最初の行を得ることができなかった:

csv_reader = csv.reader(f) 
csv_headings = next(csv_reader) 
first_line = next(csv_reader) 
80

はの最初の行だけを読むにはcsvファイルは、リーダーオブジェクトにnext()を使用します。

with open('some.csv', newline='') as f: 
    reader = csv.reader(f) 
    row1 = next(reader) # gets the first line 
    # now do something here 
    # if first row is the header, then you can do one more next() to get the next row: 
    # row2 = next(f) 

か:

with open('some.csv', newline='') as f: 
    reader = csv.reader(f) 
    for row in reader: 
    # do something here with `row` 
    break 
+0

@GavrielCohenなぜですか? – Steve

+0

私の間違い、私は別の解決策を意味した、ごめんなさい –

7

Python documentationから:

、モジュールが直接解析文字列をサポートしていませんが、それは簡単に行うことができます。

import csv 
for row in csv.reader(['one,two,three']): 
    print row 

文字列データをシングルトンリストにドロップするだけです。

11

Pandasライブラリを使用して、巨大なデータセットの最初の数行を読み取ることができます。

nrowsパラメータで読み取る行数を指定できます。

4

import csv 
csvfile = open('some.csv','rb') 
csvFileArray = [] 
for row in csv.reader(csvfile, delimiter = '.'): 
    csvFileArray.append(row) 
print(csvFileArray[0]) 
+0

これをpython3で動作させるには、 'rb'の 'b' –