我是Python编程的新手,并决定使用一个小项目来学习该语言。
基本上我想:
我的代码现在:
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()
所以基本上,我很难尝试获取下一行的内容。
仅供参考,我希望在这个过程中实现机器学习。
首先学习如何以基本方式做到这一点。
欢迎任何帮助。
谢谢!
答案 0 :(得分:0)
你不应该同时读取和写入同一个文件/列表/字典。如果这样做,对数据的引用可能会发生变化。您可以从这样的事情开始为您的任务。但请注意,随着文件的增长,代码会变慢。
import csv
reader = csv.reader(open("test.csv", 'r'), delimiter=',')
content = []
for row in reader:
item = row[0]
ans = raw_input("Do you like {}? ".format(item))
if ans == 'y':
content.append([item, 1])
else:
content.append([item, 0])
writer = csv.writer(open('test.csv', 'w'))
writer.writerows(content)
答案 1 :(得分:0)
在我上次使用csv的工作中,我打开了文件:
import csv
with open(name) as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
data.append(row)

答案 2 :(得分:0)
如果您希望生成的csv文件包含输入文件中的所有数据但添加了问题结果,则可以使用类似的内容。
它将在每条记录中的第一项之后插入答案(0或1)。
import csv
reader = csv.reader(open("mylist.csv", 'r'), delimiter=',')
data = []
for row in reader:
data.append(row)
for row in data:
ans = raw_input("Do you like {}? ".format(row[0]))
if ans == 'y':
row[1:1] = "1"
else:
row[1:1] = "0"
writer = csv.writer(open('myresult.csv', 'w'))
writer.writerows(data)