针对python中的csv文件中的现有字符串创建值的新列

假人8123

我有一个程序可以在python的csv文件中存储人员姓名及其分数。

例如,这是我当前的代码:

student_name = input("Name: ")
score = input("Score: ")

class_name = "student_scores.csv" 

file = open(class_name , 'a') 
file.write(str(student_name)  + ", " + str(score) + "\n") 
file.close() 

输出的csv文件是(name = bob)和(score = 1):

bob, 1

当我为同一个人(bob)输入另一个分数(2)时,csv文件如下所示:

bob, 1
bob, 2

但是我如何更改我的代码,以使csv文件看起来像这样(具有2列以上):

bob, 1, 2
用户名

首先,使用该csv库操作csv文件更简单您需要做的就是将csv文件读入data使用列表理解或迭代的列表中。在此,data列表是列表的列表,内部列表代表csv文件的行。现在,检查student_name每个内部列表的每个第一个元素。如果匹配score则将追加到该内部列表,然后将其内容写入datacsv文件。如果不匹配,则在追加模式下将带有student_name的列表写入scorecsv文件。

import csv

student_name = input("Name: ")
score = input("Score: ")

with open("student_scores.csv", "r") as f:
    data = [item for item in csv.reader(f)]

for item in data:
    if item[0] == student_name :
        item.append(score)
        with open("student_scores.csv", 'w') as f:
            csv.writer(f).writerows(data)
        break
else:
    with open("student_scores.csv", 'a') as f:
        csv.writer(f).writerow([student_name, score])

希望这可以帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据Rstudio中现有列的字符串值添加新列

如何在 .csv 文件中批量创建的新列中包含带有变量的新字符串?

基于 Python 中现有字符串列的新列

通过引用现有列中的字符串将值分配给data.table中的新列

以列名中的字符串为条件,变异一个新列并从现有列粘贴值

如何通过在现有列表中添加字符串而不更改python中的现有列表来创建新列表?

根据python中的字符串值创建单独的列

在PySpark中如何基于现有列的子字符串添加新列?

在bash中检测文件中的现有字符串

如何将新的字符串名称与 txt 文件中的现有字符串名称进行比较?

Python Pandas:基于组内的最大值创建新列,但使用其他(字符串)列中的值

根据现有列的子字符串在R data.table中创建列

替换列(字符串)中的值时无法覆盖现有的数据框值

如果现有列的值包含特定的子字符串,则创建新的pd.DataFrame列

如何创建一个新列,其值是现有ByteArray列的十六进制字符串?

如何使用python从csv文件的所有列中过滤字符串

通过从现有字符串中复制字符并通过“结果”数组返回新字符串来创建新的字符串?

如何从.txt文件中的现有字符串创建多个按钮

熊猫:根据现有列中的值创建新列

根据现有列中的值创建新列

如何根据列中的值计算新列?我需要创建字符串链来在 Pandas python 中创建我的新列

如何在json文件中插值现有的php字符串文字?

如何使用pandas或其他东西将新值从新的csv文件作为python中的新列附加/更新到现有csv文件的行

在pandas df中创建新列并有条件地分配字符串值

使用 Python 中的 Split 函数从现有列值创建新列

根据另一列中的字符串值创建新列

根据不同列中的不同字符串值创建新数字列的最佳方法?

如何基于现有列在 Python 中创建新列

从python中的现有列创建新列