簡體   English   中英

如何在不使用 Pandas 的情況下在 Python 中逐行編輯 CSV 文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM