使用python中的defaultdict根据特定列的值对csv列进行排序

2024-05-31 23:52:58 发布

您现在位置:Python中文网/ 问答频道 /正文

如何按照excel的排序方式对csv文件中的列进行排序。下面是我的csv文件和代码片段,我到目前为止。我想对到达时间进行排序,这样特定的流程和服务时间会随之变化。谢谢你的帮助和建议。在

csv:

    Process,ArrivalTime,ServiceTime
    A,0,3
    B,2,6
    C,4,4
    D,6,5
    E,8,2

我的密码是:

^{pr2}$

Tags: 文件csv代码密码排序方式时间流程
2条回答

我同意你应该用熊猫。。。在

除此之外,这里不需要defaultdict。在

读取文件并排序:

import csv
import operator as op

list_of_dicts = []
with open('in.csv','r') as f:
    reader = csv.DictReader(f)
    for line in reader:
        list_of_dicts.append(line)

list_of_dicts.sort(key=op.itemgetter('ArrivalTime'))

写出来:

^{pr2}$

您是否考虑过使用pandas?它有内置的方法来处理这种情况。在

import pandas as pd

# create a dataframe from the file, like an Excel spreadsheet
df = pd.read_csv('file.csv')

df.sort_values('ArrivalTime')

# returns:
  Process  ArrivalTime  ServiceTime
0       A            0            3
1       B            2            6
2       C            4            4
3       D            6            5
4       E            8            2

相关问题 更多 >