Python 3.x 在python中删除csv中的多个列(标题)

Python 3.x 在python中删除csv中的多个列(标题),python-3.x,pandas,algorithm,dataframe,csv,Python 3.x,Pandas,Algorithm,Dataframe,Csv,这是我的密码 import csv #import pandas as pd f = open("stu.csv", "a+", newline="") Smain = csv.writer(f) Smain.writerow(["Name", "Father Name", "Class", "Admission Number"]) mainrec

这是我的密码

    import csv
#import pandas as pd

f = open("stu.csv", "a+", newline="")
Smain = csv.writer(f)
Smain.writerow(["Name", "Father Name", "Class", "Admission Number"])
mainrec = []
increas = 1

class1 = open("class-1.csv", "a+", newline="")
stuclas1 = csv.writer(class1)
stuclas1.writerow(["Roll Number", "Name", "Admission Number"])

while True:
    nam = input("Enter Student Name - ")
    Clas = int(input("Enter Class - "))
    Fname = input("Enter Father Name - ")
    adm = 100 + increas
    lst = [nam, Fname, Clas, adm]
    mainrec.append(lst)

    if Clas == 1:
        stucls1list = []
        a1 = 0
        rollnum_cla1 = 0 + increas + a1
        a1 = 0 + rollnum_cla1
        lst1 = [rollnum_cla1, nam, adm]
        stucls1list.append(lst1)
        for i1 in stucls1list:
            stuclas1.writerow(i1)
    increas += 1
    c = input("Input 'Y' If You Want To Record More, Otherwise Press 'N' - ")
    if c == "N":
        break
for i in mainrec:
    Smain.writerow(i)
# load dataset
#df = pd.read_csv("stu.csv")
# select the rows
# if Name column
# has special characters
#print(df[df.Name.str.contains(r'[Name]')])
# drop the merged selected rows

f.close()
class1.close()
谁能告诉我如何删除重复的标题 当我运行这个程序超过2次时,它会开始复制标题,我不想一次又一次地复制标题,请告诉我如何删除该标题(列)

斯图:什么时候 我运行这个程序两次

Name,Father Name,Class,Admission Number
xyz,xyz,1,101
qwe,qwe,1,102
N,N,1,103
Name,Father Name,Class,Admission Number # this i want to delete
test,test,1,101
you,you,1,102

这里有一个解决方法

f = open("stu.csv", "a+", newline="")
f.seek(0)
if len(f.read()) == 0
    Smain = csv.writer(f)
    Smain.writerow(["Name", "Father Name", "Class", "Admission Number"])
这将检查文件中是否有内容。如果它有内容,那么您已经有了标题。如果没有内容,则没有标题。这将确定是否需要将头写入文件

以下是我尝试时的示例输出:

首次运行:

No header   #my print statement output
首次运行后输出文件:#写入文件的文件头

Name,Father Name,Class,Admission Number
第二轮:

header found, skipped writing header again   #my print statement output
Name,Father Name,Class,Admission Number
它没有再次将输出写入文件

第二次运行时的输出文件:

header found, skipped writing header again   #my print statement output
Name,Father Name,Class,Admission Number

请注意,默认情况下,f.write会将指针移动到最后一行(因为文件是在
a+
模式下打开的)

首先不要产生问题。在决定写入头文件之前,先测试文件是否存在并具有头文件。