2017-01-24 2 views
0

私はこのコード部分に悩まされています。私はPythonで行を.csvで分割できません。私のコードは:.csvファイル内の行をPythonで分割する

import csv  
# Get movie titles 
movies={} 
with open(path+'/ratings.csv') as csvfile: 
    reader = csv.reader(csvfile, delimiter=',') 
    for row in reader: 
     (Id,title)=row.split(',')[0:1] 

私は最初の値である映画のIDを取得したい、そして2番目の値であるタイトルです。

userId,movieId,rating,timestamp 
1,31,2.5,1260759144 
1,1029,3.0,1260759179 
1,1061,3.0,1260759182 
1,1129,2.0,1260759185 
1,1172,4.0,1260759205 
1,1263,2.0,1260759151 
1,1287,2.0,1260759187 
1,1293,2.0,1260759148 
1,1339,3.5,1260759125 
1,1343,2.0,1260759131 
1,1371,2.5,1260759135 
1,1405,1.0,1260759203 
1,1953,4.0,1260759191 
.... 

しかし、いくつかの理由で、それは私にこのエラーが発生します

は:私は、他の人が同様の問題を持った検索

AttributeError: 'list' object has no attribute 'split'

が、ほとんど彼らは.splitれたため、.csvファイルには、次のようになりますファイルは行ではありませんが、私は行を分割しています...

答えて

3

rowはすでにcsvモジュールのポイントです(コンマを区切り記号として指定しているのでデフォルトです)

だけで実行します。

Id,title = row[0:1] 

をBTWだけforループの前にnext(reader)を行うタイトル行をスキップします。

+0

ありがとうございました!それが解決しました – Guilherme

0

あなたはパンダとcsvファイルを読み込む試してみてください、パンダライブラリが自動的に列/行にあなたのcsvファイルを解析します:

import pandas as pd 

df = pd.read_csv(path_to_csv) 
+0

お勧めいただきありがとうございます! – Guilherme

+0

csvモジュールもそうです。 –

関連する問題