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+
模式下打开的)首先不要产生问题。在决定写入头文件之前,先测试文件是否存在并具有头文件。