如何用Python修改CSV文件中的JPG后缀为JPEG
替换CSV指定列的文件后缀名
需求
现有CSV文件,其中Echo列的文件名后缀均为.jpg,需完善Python脚本,将该列所有文件名的.jpg替换为.jpeg,输出符合格式的新CSV。
原始CSV内容
Alfa,Beta,Charlie,Delta,Echo A1,B1,C1,D1,AX1.jpg A2,B2,C2,D2,BX1.jpg A3,B3,C3,D3,CX1.jpg A4,B4,C4,D4,BX1.jpg A4,B4,C4,D4,CX1.jpg A4,B4,C4,D4,AX1.jpg
待完善脚本
import csv with open('sample.csv') as csv_file: column_numbers = 'Echo' reader = csv.DictReader(csv_file) for row in reader: for ky in row[column_numbers] translate from jpg to jpeg
完善后的脚本
import csv # 定义目标列和后缀替换规则 target_column = 'Echo' old_suffix = '.jpg' new_suffix = '.jpeg' # 读取原文件并写入修改后的内容 with open('sample.csv', 'r') as infile, open('output.csv', 'w', newline='') as outfile: reader = csv.DictReader(infile) writer = csv.DictWriter(outfile, fieldnames=reader.fieldnames) # 写入表头 writer.writeheader() # 遍历处理每一行 for row in reader: # 精准替换末尾的.jpg后缀 if row[target_column].endswith(old_suffix): row[target_column] = row[target_column][:-len(old_suffix)] + new_suffix writer.writerow(row)
关键修改说明
- 用
csv.DictWriter写入新文件output.csv,避免直接修改原文件导致数据丢失 - 通过
endswith判断后缀后截取替换,确保只修改文件名末尾的.jpg - 完整保留原CSV的表头和其他列内容
期望输出CSV内容
Alfa,Beta,Charlie,Delta,Echo A1,B1,C1,D1,AX1.jpeg A2,B2,C2,D2,BX1.jpeg A3,B3,C3,D3,CX1.jpeg A4,B4,C4,D4,BX1.jpeg A4,B4,C4,D4,CX1.jpeg A4,B4,C4,D4,AX1.jpeg
内容的提问来源于stack exchange,提问作者CanadianGirl827x
相关产品推荐
相关产品推荐

