Python CSV行删除取决于行号

时间:2016-04-18 14:45:11

标签: python csv indexing delete-row

我有一个python系统,它使用tkinter为基于测验的程序从单独的csv文件加载问题和答案。我可以加载文件,显示它们,允许用户添加更多问题等等。

我一直在寻找一种方法来使用python来删除依赖于questionNo(我的行计数器)的行。系统通过使用下一个和上一个按钮导航到问题,然后在他们不喜欢的问题上按删除。所以我可以访问questionNo(我要删除的行的索引),但不知道如何使用python删除它。

任何帮助将不胜感激。我已经包含了我的代码,但很多内容都与我的程序有关(A级课程),这只是它的一小部分。 我不想将另一个CSV文件用作临时文件。

1 个答案:

答案 0 :(得分:0)

如果您使用pandas的软件包,您可以将csv文件拖到RAM中,然后根据需要使用它,然后再保存并删除以前的文件。它对于处理csv非常强大,并且不使用任何临时csv。 打开文件并将其加载到Dataframe中:

import pandas as pd
questions = pd.read_csv('questions.csv')
answers = pd.read_csv('answers.csv')

您可以通过以下方式为这些Dataframe添加索引:

questions = pd.read_csv('questions.csv', columns = my_columns, index = my_index)

然后删除一行:

questions = questions.drop(number_of_your_question)
answers = answers.drop(number_of_your_answer)

并保存文件:

questions.to_csv
answers.to_csv