python - 在 python 中使用 .csv 按特定列数据排序

标签 python sorting csv

我正在尝试订购一个只有 300 多个条目的 .csv 文件,然后按方言下一个特定列中的数值顺序将其全部输出。 这是我到目前为止编写的代码,但它似乎只是在输入时输出数据

import csv
import itertools
from itertools import groupby as gb

reader = csv.DictReader(open('Full_List.csv', 'r'))

groups = gb(reader, lambda d: d['red label'])
result = [max(g, key=lambda d: d['red label']) for k, g in groups]



writer = csv.DictWriter(open('output.csv', 'w'), reader.fieldnames)
writer.writeheader()
writer.writerows(result)

整个文件中只有 50 行包含方言“红色标签”下的值,其他所有行都留空。 它在 .csv 的 Z 列中(但不是最后一个)所以我假设该列的索引是 25(0 是第一个)。 任何帮助将不胜感激。

最佳答案

如何使用 pandas

import pandas as pd
df = pd.read_csv('Full_List.csv')
df = df.sort('red label')
df.to_csv('Full_List_sorted.csv', index=False)

您可能需要调整 read_csvto_csv 的选项以匹配您的 CSV 文件的格式。

关于python - 在 python 中使用 .csv 按特定列数据排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15559812/

相关文章:

python - numpy.ndarray 的可迭代行为从何而来?

python - 如何在numpy数组的给定行中保留N个最小元素?

python - 使用 pandas 从 CSV 加载随机样本

python - 如何将 Django 迁移设置为始终是最后一个应用

python - 类型错误 : function missing 1 required positional argument

带套接字和 sys.stdin 的 Python 选择

c++ - C++中的递归归并排序

c++ - 使用 lambda 谓词对 vector 进行部分排序

javascript - 为什么网页上不显示任何内容?

python - 使用 pandas 重置 CSV 的列位置