Python 检查新条目是否已在csv文件中
我通过QT Creator表单接收用户输入。此用户输入被传递给将此输入写入CSV文件的函数。一切正常。没问题 但是当一些新的输入完成,并且CSV文件已经包含一行,其中一个特定的“列”等于来自用户输入的相同“列”,那么它应该忘记新的输入(用户输入),只修改特定“列”上的CSV文件行或者,它应该从CSV文件中删除旧条目,并将用户输入作为新条目写入CSV文件Python 检查新条目是否已在csv文件中,python,python-3.x,csv,Python,Python 3.x,Csv,我通过QT Creator表单接收用户输入。此用户输入被传递给将此输入写入CSV文件的函数。一切正常。没问题 但是当一些新的输入完成,并且CSV文件已经包含一行,其中一个特定的“列”等于来自用户输入的相同“列”,那么它应该忘记新的输入(用户输入),只修改特定“列”上的CSV文件行或者,它应该从CSV文件中删除旧条目,并将用户输入作为新条目写入CSV文件 def check_and_save(newEntry): ### add some new variables to newEntry
def check_and_save(newEntry):
### add some new variables to newEntry
a_count = 0
b_count = 0
c_count = 0
#### what the function should do
1. check if there is a specific CSV FILE
(i.e CSVFILE('StrikeListReport'))
if the CSV FILE does NOT exist create CSVFILE('StrikeListReport')
and write -- new entry -- in a row to it
else if CSV FILE('StrikeListReport') already exists:
1. open CSV FILE('StrikeListReport')
2. go trough each row in CSV FILE('StrikeListReport') and \
check if --newEntry-- already exist in the
CSV FILE('StrikeListReport') based on --new entry[2]--
#(staff_id)
3. if --new entry[2] -- already exist in
CSV FILE('StrikeListReport')
the function should either:
1. delete the -- old entry --
add (+1) to -- new entry --'s -- a_count -- #new entry[4]
then write -- new entry -- to CSV FILE('StrikeListReport')
or :
2. forget about the --new entry --
and just add( + int(1) ) to the
-- old entry --'s -- a_count -- # old entry[4] then
save / write CSV FILE('StrikeListReport') with changed
-- old entry --
我的尝试
来自QT Creator的用户输入
staff_firstname=“Jane”
staff_lastname=“DOE”
员工_id=“809564”
store_id=“809”
选择事件=“只是一些文本”
strike_comment=“只是一些文字”
日期=“2012”
类DoIt:
def保存和发送罢工报告(自我、员工名、员工姓、员工id、门店id、所选事件、,
罢工(备注、日期):
罢工次数=0
滞留人数=0
hr\u惩罚\u计数=0
新罢工报告=[员工名、员工姓、员工id、门店id、,
选定事件、罢工、拘留、人力资源处罚、罢工评论、,
[日期]
以open('StrikeListReport'+store_id+'.csv',“r”)作为csvfile:
reader=csv.reader(csvfile,分隔符=“;”)
对于读卡器中的项目:
对于新罢工报告中的新罢工项目:
如果新项目[2]==项目[2]:
项目=项目[5]+1
将open('StrikeListReport'+store_id+'.csv',“a”)作为csvfile_输出:
writer=csv.writer(csvfile\u out)
writer.writerow(项目)
其他:
将open('StrikeListReport'+store_id+'.csv',“a”)作为csvfile_输出:
writer=csv.writer(csvfile\u out)
writer.writerow(新项目)
bla=DoIt()
bla.保存并发送罢工报告(员工名、员工姓、员工id、门店id、所选事件、罢工评论、日期)
无论我怎么努力,我的输出总是这样。
上面的代码只是我解决问题的方法之一:
只是想知道使用SQLite的解决方案是否更适合此应用程序。这听起来像是在使用csv存储一个简单的类似SQL的表。有很多方法可以更新CSV,但它们看起来效率很低。好的,感谢您的建议选择一个实现和一个错误,并用所有输入和完整的回溯详细描述它(没有单独的伪代码;我们可以很好地阅读简单的代码)。问题。如何显示一些我没有的代码?我是newto codeing和stackoverflow的新手。所以,我怎样才能显示一些我现在完全不知道从哪里开始的代码呢。我不明白,只是想知道使用SQLite的解决方案是否更适合这个应用程序。这听起来像是在使用csv存储一个简单的类似SQL的表。有很多方法可以更新CSV,但它们看起来效率很低。好的,感谢您的建议选择一个实现和一个错误,并用所有输入和完整的回溯详细描述它(没有单独的伪代码;我们可以很好地阅读简单的代码)。问题。如何显示一些我没有的代码?我是newto codeing和stackoverflow的新手。所以,我怎样才能显示一些我现在完全不知道从哪里开始的代码呢。我不明白