0
ファイルごとに1つのファイル(m.csv)を読み込んで、すべての映画ジャンルの単位ベクトルを作成しています。私は次の行に行く前に、ファイル自体の各行の最後に結果のベクトルを追加したいと思います。ファイルごとにベクトルを1行追加する
1,Four Rooms (1995),Comedy
追加ベクトルは次のようになります:行は、この映画の情報を持っている場合
:インスタンスの
18,Four Rooms (1995),Comedy, [0,1,0,0,0,0]
私は次のようにバックvector
を追加する方法についての問題を抱えています:
genres = ['unknown', 'Comedy', 'Crime', 'Documentary', 'Drama', 'Fantasy']
movieDict = {}
with open(path + 'm.csv') as f:
temp = ''
for line in f:
reader = csv.reader(f, delimiter=',')
for row in reader:
l = row[-1].split('|')
vector = [0] * 6
for i in range(len(l)):
# print ("%s is at index=%s! \n" % (l[i], genres.index(l[i])))
if l[i] in genres:
vector[genres.index(l[i])] = 1
else:
vector[genres.index(l[i])] = 0
reader[row] = vector # <<<<<< I am stuck here!!
何か助けていただければ幸いです。
@ Jean-FrançoisFabreありがとうございました。 'AttributeError: '_csv.reader'オブジェクトに 'append'という属性がありません。それは私がPython 2.7を使用しているからですか? – Kris
申し訳ありません私は 'row.append(vector)'を意味しました –
あなたは読んでいるファイルを変更することはできません。変更された行を新しいファイルに書き込む必要があります。さらに、最後のフィールドにはコンマが含まれているので、引用符で囲む必要があります: '1、Four Rooms(1995)、Comedy、[0,1,0,0,0,0]」' –