Как вы сортируете только первый столбец в CSV-файле и не влияете на другие столбцы при этом, используя python - PullRequest
0 голосов
/ 25 февраля 2020

Я работаю над таблицей (CSV-файл), где он содержит следующие данные:

roll_no,student_name,grade,email_id  
1,Aarav Gosalia,Grade 11,aarav.gosalia@flag.org.in  
2,Aarav Rawal,Grade 11,aarav.rawal@flag.org.in  
3,Abizar Chitalwala,Grade 11,abizar.chitalwala@flag.org.in  
4,Ahad Motorwala,Grade 11,ahad.motorwala@flag.org.in  
5,Armaan Adenwala,Grade 11,armaan.adenwala@flag.org.in  
6,Aryan Shah,Grade 11,aryan.shah@flag.org.in  
7,Baasit Motorwala,Grade 11,baasit.motorwala@flag.org.in  
16,Caroline Walker,Grade 11,caroline.walker@flag.org.in  
8,Darsshan Kavedia,Grade 11,darsshan.kavedia@flag.org.in  
9,Devanshi Rajgharia,Grade 11,devanshi.rajgharia@flag.org.in  
10,Dhruv Jain,Grade 11,dhruv.jain@flag.org.in  
11,Eisa Patel,Grade 11,eisa.patel@flag.org.in  
12,Esha Khimawat,Grade 11,esha.khimawat@flag.org.in  
13,Fatima Unwala,Grade 11,fatima.unwala@flag.org.in  
14,Hamza Erfan,Grade 11,hamza.erfan@flag.org.in  
15,Harsh Gosar,Grade 11,harsh.gosar@flag.org.in  

, чтобы вы могли видеть, что все имена отсортированы, но номер броска Кэролайн Уокер - 16. Поэтому я хочу, чтобы способ сортировал только числа бросков и не влиял на другие столбцы при этом. Я хочу, чтобы финальный стол выглядел так:

roll_no,student_name,grade,email_id   
1,Aarav Gosalia,Grade 11,aarav.gosalia@flag.org.in  
2,Aarav Rawal,Grade 11,aarav.rawal@flag.org.in  
3,Abizar Chitalwala,Grade 11,abizar.chitalwala@flag.org.in  
4,Ahad Motorwala,Grade 11,ahad.motorwala@flag.org.in  
5,Armaan Adenwala,Grade 11,armaan.adenwala@flag.org.in  
6,Aryan Shah,Grade 11,aryan.shah@flag.org.in  
7,Baasit Motorwala,Grade 11,baasit.motorwala@flag.org.in  
8,Caroline Walker,Grade 11,caroline.walker@flag.org.in  
9,Darsshan Kavedia,Grade 11,darsshan.kavedia@flag.org.in  
10,Devanshi Rajgharia,Grade 11,devanshi.rajgharia@flag.org.in  
11,Dhruv Jain,Grade 11,dhruv.jain@flag.org.in  
12,Eisa Patel,Grade 11,eisa.patel@flag.org.in  
13,Esha Khimawat,Grade 11,esha.khimawat@flag.org.in  
14,Fatima Unwala,Grade 11,fatima.unwala@flag.org.in  
15,Hamza Erfan,Grade 11,hamza.erfan@flag.org.in  
16,Harsh Gosar,Grade 11,harsh.gosar@flag.org.in  

Пожалуйста, помогите мне и учтите, что я еще новичок в python.

Ответы [ 3 ]

0 голосов
/ 25 февраля 2020

pandas в одну сторону.

import pandas as pd

df = pd.read_csv('file.csv')
df.sort_values(by='roll_no')
df.to_csv('file.csv',index=False)
0 голосов
/ 25 февраля 2020

Это будет работать:

df = pd.DataFrame({'id':[1,3,2,7],
                   'name': ['M', 'r', 'd', 'd']})
df['id'] =  list(df['id'].sort_values())
df

Результат:

    id  name
0   1   M
1   2   r
2   3   d
3   7   d
0 голосов
/ 25 февраля 2020

просто используйте pandas. df['roll_no'] = range(1:len(df))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...