相关疑难解决方法(0)

csv.Error:迭代器应返回字符串,而不是字节

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应该返回字符串,而不是字节(你是否在文本模式下打开文件?)

我该如何解决?

python csv python-3.x

141
推荐指数
5
解决办法
20万
查看次数

如何更新CSV文件中的行

您好,我正在尝试制作一个更新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)

但这不起作用,我需要有关如何解决此问题的想法。

屏幕截图

python csv

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

csv ×2

python ×2

python-3.x ×1