You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python或R中对CSV文件的行按字母顺序排序?

别着急,我来给你两个亲测有效的解决方案,不管用Python还是R都能轻松搞定这个按字母排序CSV的问题~

Python 解决方案

如果你的CSV文件只有一列单词(带或不带表头),可以用下面的代码:

import csv

# 替换成你的原始CSV文件名
input_file = "your_words.csv"
# 输出的排序后文件名
output_file = "sorted_words.csv"

# 读取文件内容
with open(input_file, 'r', newline='', encoding='utf-8') as infile:
    reader = csv.reader(infile)
    rows = list(reader)
    
    # 处理表头:如果你的CSV有表头(比如第一行是"Word"),就保留这部分
    has_header = True  # 没有表头的话改成False
    if has_header:
        header = rows[0]
        data_rows = rows[1:]
        # 按单词列(每行第一个元素)字母排序,lower()确保大小写不干扰排序
        sorted_data = sorted(data_rows, key=lambda x: x[0].lower())
        # 把表头加回排序后的列表
        sorted_data.insert(0, header)
    else:
        # 没有表头直接排序所有行
        sorted_data = sorted(rows, key=lambda x: x[0].lower())

# 写入排序后的文件
with open(output_file, 'w', newline='', encoding='utf-8') as outfile:
    writer = csv.writer(outfile)
    writer.writerows(sorted_data)

注意事项:

  • 把your_words.csv换成你实际的文件名,确保文件和代码在同一目录,或者写完整路径
  • lower()是关键!它能避免大写单词(比如"Ant")排在小写单词前面的问题
  • 如果你的CSV有多列,但还是要按第一列单词排序,代码完全适用
R 解决方案

用R处理更简洁,几行代码就能搞定:

# 读取CSV文件,header=TRUE表示有表头,没有的话改成FALSE
words_data <- read.csv("your_words.csv", header = TRUE, stringsAsFactors = FALSE)

# 按第一列的单词排序,tolower()忽略大小写差异
sorted_data <- words_data[order(tolower(words_data[, 1])), ]

# 写入排序后的CSV,row.names=FALSE避免生成多余的行号,quote=FALSE去掉单词的引号
write.csv(sorted_data, "sorted_words.csv", row.names = FALSE, quote = FALSE)

小提示:

  • 如果你的CSV分隔符不是逗号(比如制表符),可以用read.delim()代替read.csv(),并指定sep="\t"
  • 同样记得替换文件名,或者用完整文件路径

内容的提问来源于stack exchange,提问作者Jennifer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:06:58