Python 3.x 为什么Python会从第二行开始写入我的CSV文件?

Python 3.x 为什么Python会从第二行开始写入我的CSV文件?,python-3.x,csv,Python 3.x,Csv,我正在尝试创建一个值列表,以后可以读取、排序和搜索这些值。虽然当我写入csv文件时,它会跳过第一行并在下一行打印 我已经在内部和外部寻找解决方案,但没有任何帮助 这是我的密码: from tkinter import * import csv window=Tk() def show_entry_fields(): with open('shoplist.csv', 'a') as csvfile: list = csv.writer(csvfile, delimit

我正在尝试创建一个值列表,以后可以读取、排序和搜索这些值。虽然当我写入csv文件时,它会跳过第一行并在下一行打印

我已经在内部和外部寻找解决方案,但没有任何帮助

这是我的密码:

from tkinter import *
import csv

window=Tk()

def show_entry_fields():
    with open('shoplist.csv', 'a') as csvfile:
        list = csv.writer(csvfile, delimiter=',', lineterminator='\n')
        list.writerow([ "%s" % (e3.get()) "%s" % (e4.get()), "%s" % (e5.get())])

Button(window, text='Add', command=show_entry_fields).grid(row=3, column=3)

v = StringVar()
e3 = Entry(window)
e4 = Entry(window)
e5 = Entry(window)
e3.grid(row = 3, column = 1)
e4.grid(row = 4, column = 1)
e5.grid(row = 5, column = 1)

l3 = Label(window, text = "Name:")
l3.grid(row = 3, column = 0)
l4 = Label(window, text = "Location:")
l4.grid(row = 4, column = 0)
l5 = Label(window, text = "Rate /5:")
l5.grid(row = 5, column = 0)

您的系统上可能已经存在csv文件,其中有一个空行?将“a”更改为“wb”,而不是将open('shoplist.csv','a')用作csvfile:。这将返回错误“'str'不支持缓冲区接口”,并且我希望附加我输入的数据。您的代码(在
(e3.get())
之后缺少逗号)在我的机器上正常工作。您是否尝试删除
shoplist.csv
并重新运行?