我有一個 CSV 檔案,當我通過匯入 CSV 庫讀取它時,我得到了輸出:
['exam', 'id_student', 'grade']`
['maths', '573834', '7']`
['biology', '573834', '8']`
['biology', '578833', '4']
['english', '581775', '7']`
# goes on...
我需要通過創建一個名為“通過”的第 4 列來編輯它,它有兩個可能的值:真或假,取決于該行的等級是否 >= 7(真)或不(假),然后計算每個的次數學生通過了考試。如果無法以這種方式編輯 CSV 檔案,我只需要讀取 CSV 檔案,然后創建一個包含以下輸出的串列字典:
dict = {'id_student':[573834, 578833, 581775], 'passed_count': [2,0,1]}
# goes on...
謝謝
uj5u.com熱心網友回復:
嘗試使用匯入 csv 作為 pandas 資料框
import pandas as pd
data=pd.read_csv('data.csv')
然后使用:
data['passed']=(data['grades']>=7).astype(bool)
然后將資料框保存到 csv 為:
data.to_csv('final.csv',index=False)
uj5u.com熱心網友回復:
遍歷輸入行,用一個附加項擴充每一行的欄位串列,并將其保存回另一個 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是為您提供發布的輸出的可迭代物件。
如果您需要替換原始內容,請使用os.remove()和os.rename()來完成。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/423437.html
標籤:
