CSV排序脚本 | AI生成和翻译

Home 2025.04

我将编写一个使用argparse解析CSV文件路径的Python脚本,将单行逗号分隔值按字母顺序排序,并将结果输出到名为”name_sorted.csv”的文件中。

#!/usr/bin/env python3
import argparse
import csv
import os

def main():
    # 设置参数解析器
    parser = argparse.ArgumentParser(description='对单行CSV文件进行字母顺序排序')
    parser.add_argument('file_path', help='输入CSV文件的路径')
    
    # 解析参数
    args = parser.parse_args()
    
    try:
        # 获取目录和文件名
        file_dir = os.path.dirname(args.file_path)
        file_name = os.path.basename(args.file_path)
        
        # 创建输出文件名
        base_name, ext = os.path.splitext(file_name)
        output_file = os.path.join(file_dir, f"{base_name}_sorted{ext}")
        
        # 读取输入CSV文件
        with open(args.file_path, 'r') as file:
            reader = csv.reader(file)
            # 仅获取第一行
            for row in reader:
                values = row
                break
        
        # 按字母顺序排序值
        sorted_values = sorted(values)
        
        # 写入输出文件
        with open(output_file, 'w', newline='') as file:
            writer = csv.writer(file)
            writer.writerow(sorted_values)
        
        print(f"成功排序值并保存到 {output_file}")
        
    except FileNotFoundError:
        print(f"错误:未找到文件 '{args.file_path}'")
    except Exception as e:
        print(f"错误:{e}")

if __name__ == "__main__":
    main()

该脚本:

  1. 使用argparse获取输入文件路径
  2. 打开CSV文件并仅读取第一行
  3. 按字母顺序排序值
  4. 将排序后的值写入”name_sorted.csv”

要运行此脚本,请将其保存到文件(例如”sort_csv.py”),如果需要可使其可执行,并使用CSV文件路径运行:

python sort_csv.py 路径/到/你的/文件.csv

需要我详细解释代码的任何部分吗?


Back Donate