[英]How to edit a CSV file row by row in Python without using Pandas
我有一個 CSV 文件,當我通過導入 CSV 庫讀取它時,我得到的是 output:
['exam', 'id_student', 'grade']`
['maths', '573834', '7']`
['biology', '573834', '8']`
['biology', '578833', '4']
['english', '581775', '7']`
# goes on...
我需要通過創建一個名為“通過”的第 4 列來編輯它,該列有兩個可能的值:真或假,取決於該行的等級是否 >= 7(真)或不(假),然后計算每個的次數學生通過了考試。 如果無法以這種方式編輯 CSV 文件,我只需閱讀 CSV 文件,然后使用以下 output 創建一個列表字典:
dict = {'id_student':[573834, 578833, 581775], 'passed_count': [2,0,1]}
# goes on...
謝謝
嘗試使用導入 csv 作為 pandas dataframe
import pandas as pd
data=pd.read_csv('data.csv')
然后使用:
data['passed']=(data['grades']>=7).astype(bool)
然后將 dataframe 保存為 csv 為:
data.to_csv('final.csv',index=False)
遍歷輸入行,用一個附加項擴充每一行的字段列表,並將其保存回另一個 CSV:
with open('result.csv', 'w', newline='') as csvfile:
csvwriter = csv.writer(csvfile)
for row in source_rows:
csvwriter.writerow(row.append(row[2] >= 7))
source_rows
是為您提供您發布的 output 的可迭代對象。
如果您需要替換原始內容,請使用os.remove()和os.rename()來完成。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.