i am working on a table(csv file) where it has the following data:
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
so as you can see all of the names are sorted but the roll number of caroline walker is 16. so i want a way to sort only the roll numbers and not affect any of the other columns while doing so. I want the final table to look like this:
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
Please help me and keep in mind that i am yet a beginner in python.
just use pandas. df['roll_no'] = range(1:len(df))
pandas
is one way.
import pandas as pd
df = pd.read_csv('file.csv')
df.sort_values(by='roll_no')
df.to_csv('file.csv',index=False)
This will work:
df = pd.DataFrame({'id':[1,3,2,7],
'name': ['M', 'r', 'd', 'd']})
df['id'] = list(df['id'].sort_values())
df
Result:
id name
0 1 M
1 2 r
2 3 d
3 7 d
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.