Python 我可以使用pandas模块删除csv文件中的记录吗?
我正在进行一个项目,该项目将添加、查看和删除csv文件夹中的文件。 对于删除,我创建了一个新列表,没有我想要删除的记录。但删除后,当我添加新记录并查看所有记录时,删除的记录也会出现。我的一位朋友说,使用熊猫模块将非常有用。我想知道熊猫模块是否能达到这个目的。我们欢迎所有其他解决这个问题的建议。这是我目前的代码:Python 我可以使用pandas模块删除csv文件中的记录吗?,python,pandas,csv,Python,Pandas,Csv,我正在进行一个项目,该项目将添加、查看和删除csv文件夹中的文件。 对于删除,我创建了一个新列表,没有我想要删除的记录。但删除后,当我添加新记录并查看所有记录时,删除的记录也会出现。我的一位朋友说,使用熊猫模块将非常有用。我想知道熊猫模块是否能达到这个目的。我们欢迎所有其他解决这个问题的建议。这是我目前的代码: exp=[] def expenses(): fr=open("daily.csv",'a',newline="") d=csv.
exp=[]
def expenses():
fr=open("daily.csv",'a',newline="")
d=csv.writer(fr)
#d.writerow(['SNO','CATEGORY','AMOUNT','DATE'])
#exp=[]
i=len(exp)+1
while True:
while True:
amt=int(input("\nENTER THE AMOUNT "))
date=input("ENTER DATE (DD/MM/YYYY):")
ch=int(input("CHOOSE YOUR CATEGORY OF DAILY EXPENSE :\n1.GROCERY\t\t2.HOUSING\n3.TRANSPORT\t\t4.HEALTH\n5.ENTERTAINMENT\t\t6.OTHERS"))
a=0
if ch==1:
c="GROCERY"
a=1
elif ch==2:
c="HOUSING"
a=1
elif ch==3:
c="TRANSPORT"
a=1
elif ch==4:
c="HEALTH"
a=1
elif ch==5:
c="ENTERTAINMENT"
a=1
elif ch==6:
c="OTHERS"
a=1
else:
print("\nINVALID CATEGORY!\nTRY AGAIN!")
break
data=[i,c,amt,date]
exp.append(data)
i+=1
ch3=input("\nDO YOU WANT TO ADD MORE EXPENSES?(Y/N)")
if ch3.lower()=='n':
break
break
global e
e=exp
fr.truncate(0)
for i in exp:
d.writerow(i)
fr.close()
def display():
if os.path.exists("daily.csv")==True:
fr=open("daily.csv",'r')
dr=csv.reader(fr)
time.sleep(0.5)
print("\t\t\t\t\t\t***********************************************************************")
print("\n\t\t\t\t\t\t\t\tYOUR EXPENSES")
print("\t\t\t\t\t\t***********************************************************************")
print("\t\t\t\tSNO\t\tCATEGORY\t\tAMOUNT\t\tDATE")
print("\t\t\t\t---\t\t--------\t\t------\t\t----")
try:
for i in dr:
print("\t\t\t\t",i[0],"\t\t",i[1],"\t\t",i[2],"\t\t",i[3])
fr.close()
except:
pass
else:
print("PLEASE ADD EXPENSES FIRST!")
def delexp():
while True:
ch=int(input("CHOOSE THE METHOD OF DELETION:\n1.DELETE EXPENSES BY DATE \n2.DELETE EXPENSES BY CATEGORY\n3.DELETE EXPENSE BY AMOUNT\n4.DELETE INDIVIDUAL EXPENSES"))
if ch==1:
dd=input("ENTER THE DATE(dd/mm/yyyy) TO BE DELETED:")
f=open("daily.csv",'r')
dr=csv.reader(f)
s=[]
i=1
for a in dr:
if a[3]!=dd:
b=[i,a[1],a[2],a[3]]
s.append(b)
i+=1
else:
print("DELETED EXPENSE:",a)
print("EXPENSE HAS BEEN DELETED")
f.close()
#exp=s
f=open("daily.csv",'w')
wr=csv.writer(f)
for i in s:
wr.writerow(i)
f.close()
elif ch==2:
dd=input("ENTER THE AMOUNT TO BE DELETED:")
f=open("daily.csv",'r')
f.seek(0)
s=[]
dr=csv.reader(f,delimiter=",")
for a in dr:
if a[2]!=dd:
s.append(a)
else:
print("DELETED EXPENSE:",a)
print("EXPENSE HAS BEEN DELETED")
f.close()
f=open("daily.csv",'w',newline='')
wr=csv.writer(f,delimiter=",")
for a in s:
wr.writerow(a)
f.close()
elif ch==3:
dd=input("ENTER THE CATEGORY TO BE DELETED:")
f=open("daily.csv",'r')
f=open("daily.csv",'w',newline='')
wr=csv.writer(f,delimiter=",")
for a in s:
wr.writerow(a)
f.close()
ch1=input("DO YOU WANT TO DELETE AGAIN[Y/N]:")
if ch1.lower()=='n':
break
然后根据用户的意愿调用这些函数。
谢谢大家!