У меня есть файл 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...
Благодарность
2 ответа
Попробуйте использовать импорт 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)
Переберите входные строки, дополните список полей каждой строки дополнительным элементом и сохраните его обратно в другой 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()< /a> и os.rename() для этого .
source_rows
не определен, плюс код не выдает ожидаемый результат
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.