[英]Python CSV Row Loop
我對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()
因此,基本上,我一直在努力獲取下一行的內容。
僅供參考,我希望在此過程中實現機器學習。
首先,學習基本的方法。
歡迎任何幫助。
謝謝!
您不應同時讀取和寫入相同的文件/列表/字典。 如果這樣做,對數據的引用可能會更改。 您可以從類似這樣的任務開始。 但是,請注意,隨着文件的增加,代碼會變慢。
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)
在我與csv的最后一次合作中,我打開了文件,如下所示:
import csv with open(name) as csvfile: reader = csv.DictReader(csvfile) for row in reader: data.append(row)
如果您希望生成的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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.