2016-07-19 7 views
1

私は次の形式で情報を含むエクセル/ CSVファイルを持っている:csvファイルの要素をPythonの変数にどのように送ることができますか?

A  B  C 
1 3  A  T 
2 5  T  G 
3 100 A  C 
4 101 A  A 

私は、3にVAR1を設定したいAにVAR2、およびTにVAR3、これらの変数といくつかの操作を実行すると、どうなります次の行で同じ。私。次のパスは、var1を5に、var2をTに、var3をGに設定し、操作を実行します。

これをPythonで達成する最も良い方法は何ですか? Pythonでプログラミングするのはかなり新しいです。

答えて

0

CSVを開き、すべてがコンマで区切られていることを利用します。 [1:]を使用して最初の行を無視する方法に注意してください。

f = open("yourcsv.csv","r") 
lines = f.readlines() 
for i in lines[1:]: 
    split_line = i.split() 
    var1 = split_line[1] 
    var2 = split_line[2] 
    var3 = split_line[3] 
    # Do something with the values 

EDIT:コメントで

、あなたはABC/1234 Excelのマーキングと言われています。そうであれば、次のように動作します。

f = open("yourcsv.csv","r") 
lines = f.readlines() 
for i in lines: 
    split_line = i.split() 
    var1 = split_line[0] 
    var2 = split_line[1] 
    var3 = split_line[2] 
    # Do something with the values 
+0

ありがとうございました!私はExcelで行/列を示すためにABC/1234を使用していました。 [1:]はまだ必要ですか? – maharaja9933

+0

@ maharaja9933私の答えがあなたの問題を解決したら、答えの横にあるチェックマークを押してそれを受け入れることができますか? – intboolstring

+0

@ maharaja9933ありがとうございました! – intboolstring

0

あなたは私が応答を待っている間

import csv 
varLst = [var1,var2,var3] 
with open(filepath,'r') as f: 
    r = csv.reader(f) 
    for line in r: 
    varDict = { v: varLst[i] for i,v in enumerate(line) } 
    # do something 
    # if you want call var1 ==> varDict['3'] for first line of data 
0

は無粋ソリューションを動作するように自分自身を管理し、私は問題の私自身のアプローチを提供したい考え出し要求を達成するために辞書を使用することができます将来的に誰かを助けたり、フィードバックを得ることができます。上記の両方の方法も同様に機能しました!

import csv 
with open('scz.csv', newline='') as csvfile: 
    filereader = csv.reader(csvfile, delimiter=' ', quotechar='|') 
    for row in filereader: 
     str_row = ''.join(row) 
     var1, var2, var3 = str_row.split(',') 
関連する問題