CSV排序脚本 | AI生成和翻译
我将编写一个使用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()
该脚本:
- 使用argparse获取输入文件路径
- 打开CSV文件并仅读取第一行
- 按字母顺序排序值
- 将排序后的值写入”name_sorted.csv”
要运行此脚本,请将其保存到文件(例如”sort_csv.py”),如果需要可使其可执行,并使用CSV文件路径运行:
python sort_csv.py 路径/到/你的/文件.csv
需要我详细解释代码的任何部分吗?