Sample.csv包含以下内容
NAME Id No Dept
Tom 1 12 CS
Hendry 2 35 EC
Bahamas 3 21 IT
Frank 4 61 EE
Run Code Online (Sandbox Code Playgroud)
并且python文件包含以下代码
import csv
ifile = open('sample.csv', "rb")
read = csv.reader(ifile)
for row in read :
print (row)
Run Code Online (Sandbox Code Playgroud)
当我在python中运行上面的代码时,我得到以下异常
文件"csvformat.py",第4行,in for read in:_csv.Error:iterator应该返回字符串,而不是字节(你是否在文本模式下打开文件?)
我该如何解决?
您好,我正在尝试制作一个更新csv中值的程序。用户搜索ID,如果ID存在,它将在该ID号所在的行上获取要替换的新值。这row[0:9]是我的身份证的长度。
我的想法是从0-9扫描每行或我的ID编号在哪里,当找到它时,我将使用.replace()方法替换除它以外的值。这是我的方法:
def update_thing():
replace = stud_ID +','+ stud_name +','+ stud_course +','+ stud_year
empty = []
with open(fileName, 'r+') as upFile:
for row in f:
if row[0:9] == stud_ID:
row=row.replace(row,replace)
msg = Label(upd_win, text="Updated Successful", font="fixedsys 12 bold").place(x=3,y=120)
if not row[0:9] == getID:
empty.append(row)
upFile.close()
upFile = open(fileName, 'w')
upFile.writelines(empty)
upFile.close()
Run Code Online (Sandbox Code Playgroud)
但这不起作用,我需要有关如何解决此问题的想法。