读取和覆盖.CSV文件数据

时间:2016-04-12 11:49:11

标签: python

我正在尝试为python程序生成读写序列。我是Python的新手;因此,对实际代码没有惊人的了解。 我正在努力从.CSV文件中读取数据,这个文件包含3列,行数取决于用户使用我创建的程序的数量。现在,我知道如何定位行,但问题是它返回整行,其中包含所有三列数据。那么 - 我如何隔离数据?接下来,如何将这些数据转换为可以读取,写入或覆盖的变量。 请记住,该计划的背景是计算A453课程。还记得我不是要求你为我做我的工作,我已经完成了其他两项任务,以及任务3的所有逻辑和计划。我只剩下2周,直到我必须完成这个课程,并试图找出可以读取和覆盖数据的代码对像我这样的初学者来说非常困难。

with open('results.csv', 'a', newline='') as fp:
    g = csv.writer(fp, delimiter=',')
    data = [[name, score, classroom]]
    g.writerows(data)
fp.close()
# Do the reading
result = open('results.csv', 'r')
reader = csv.reader(result)
new_rows_list = []
for row in reader:
    if row[2] == name:
        if row[2] < score:
            result.close()
            file2 = open('results.csv', 'wb')
            writer = csv.writer(file2)
            new_row = [row[2], row[2], name, score, classnumber]
            new_rows_list.append(new_row)
            file2.close()

目前,此代码读取文件,但不是我想要的方式。我想让它隔离记录中用户的“名称”(在.csv文件中)。它不会这样做,而是整个行读取整个行,我不知道如何将其划分为用户的名称。

以下是.CSV文件中的数据: 姓名分数分类号 jor 0 2 jor 0 2 jor 1 2

1 个答案:

答案 0 :(得分:2)

我假设你看起来像这样:

  

Jacob,14岁,B级,3号

那是一个字符串。

如果是这种情况,String.split()就是你的答案。

String.split()接受一个字符作为参数,在您的情况下是逗号(逗号分隔值),并返回字符串中该字符的每个实例之间的所有内容的数组。

从那里,如果要将结果用作程序中的数据,则应将值转换为所需的数据类型(如 float (x)或 int (X))

希望这有帮助