簡體   English   中英

Python CSV行循環

[英]Python CSV Row Loop

我對Python編程非常陌生,因此決定進行一個小項目來學習該語言。

基本上,我正在嘗試:

  1. 讀取CSV文件的第一個單元格。
  2. 詢問該單元格值是否為“喜歡”。
  3. 如果喜歡,請寫到1.,“ 1”上單元格旁邊的列。
  4. 否則,輸入“ 0”。
  5. 在下一行重復,直到列表結尾。

我現在的代碼:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM