我正在从正常工作的文件导入数据。我已将此文件中的数据附加到3个不同的列表中,名称,标记,标记2,但我不明白如何或如果我可以创建一个名为total_marks的新列表,并在total_marks中添加一个附加标记+ mark2的计算。试图寻找这方面的帮助,并没有找到太多相关的。计划是将两个列表实际添加到一起,并计算出总分数为150的百分比。
答案 0 :(得分:2)
逐项添加两个列表:
combined = []
for m1, m2 in zip(mark, mark2):
combined.append(m1+m2)
zip函数从列表中每对的两个列表中返回一个项目对:
https://docs.python.org/3/library/functions.html#zip
然后你可以这样执行最后的操作:
final = []
for m in combined:
final.append(m/150*100)
正如我在评论中所说的那样,我强烈建议您在学习基础知识后再花时间学习两个库:pandas和xlwings。这些将极大地帮助您在python和excel之间进行交互。一旦你学习了pandas数据帧,你在这里的操作变得更加简单。
答案 1 :(得分:0)
使用pandas这是一种更好的方法。
import pandas
df = pandas.read_csv('Classmarks.csv', index_col = 'student_name', names = ('student_name', 'mark1', 'mark2'), header = None)
df['combined'] = df['mark1'] + df['mark2']
df['final'] = df['combined'] / 150 * 100
print(df)
不必使用pandas进行任何循环。然后您可以将其写回csv文件:
df.to_csv('Classmarksout.csv')