私はPythonプログラミングには非常に新しいので、言語を学ぶための小さなプロジェクトを決めました。Python CSV行ループ
基本的に私がしようとしています:
- CSVファイルの最初のセルを読みます。
- セルの値が「お気に入り」かどうかを確認します。
- 好きな場合は、1のセルの隣にある列に「1」を書き込みます。
- それ以外の場合は "0"を書き込みます。
- リストの最後まで次の行を繰り返します。
私のコード今:
import csv
reader = csv.reader(open("mylist.csv"), delimiter=',')
data = []
for row in reader:
data.append(row)
ask = (data[0][0])
ans = input("Do you like {}? ".format(ask))
if ans == ("y"):
f = open('mylist.csv', 'r')
reader = csv.reader(f)
data = list(reader)
f.close()
data[0][1] = '1'
my_new_list = open('mylist.csv', 'w', newline='')
csv_writer = csv.writer(my_new_list)
csv_writer.writerows(data)
my_new_list.close()
else:
f = open('mylist.csv', 'r')
reader = csv.reader(f)
data = list(reader)
f.close()
data[0][1] = '0'
my_new_list = open('mylist.csv', 'w', newline='')
csv_writer = csv.writer(my_new_list)
csv_writer.writerows(data)
my_new_list.close()
そこで、基本的に、私は次の行の内容を取得しようとして立ち往生しています。
参考までに、このプロセスに機械学習を実装することを検討しています。
これを基本的な方法で最初に学習する方法。
助けを歓迎します。
ありがとうございました!
実際に行った作業の複雑さを認識していないようです。同時にCSVファイルを読み書きすることは非常に困難です。そのため、RDBMSが一般的な場所になる前に、人々は悪い昔に固定長のレコードを使用していました。 – e4c5
同じファイルに書き戻してはいけません。終了時に更新されたバージョンを(リストやdictsなどの)メモリに保持し、ファイルに書き込んでください。新しい結果ファイルを作成するか、ファイルを上書きすることができます。 –
私はheheを始めるまで、私は仕事の複雑さを知らなかった。しかし今、私は@ e4c5を完成させる最善の方法を見つけたいと思っています。 – Humbis