修改下面python3代码Excel中帧率列转换为数字import osimport reimport subprocessimport openpyxlimport mathfrom openpyxlstyles import Font PatternFill Alignment# 视频格式supported_formats = mp4 avi mkv wmv mov flv m
将代码中写入Excel的帧率数据转换为数字,修改如下:
- 在headers列表中加入帧率列标题:
headers = [ '文件名', '文件路径', '格式', '大小', '时长', '分辨率', '码率', '帧率', '音频码率', '音频采样率', '音频语言', '压缩比率', '文件总数', ]
- 在process_video函数中,使用float函数将帧率数据转换为数字:
使用正则表达式替换码率数据中第1、2数字之间的空格
bitrate = re.sub(pattern, r'\1\2', video_info[2])
将帧率数据转换为数字
frame_rate = float(video_info[3])
写入Excel文件
write_cell(ws, row, 1, file_name) write_cell(ws, row, 2, os.path.dirname(video_file)) # 写入文件路径 write_cell(ws, row, 3, video_info[0]) write_cell(ws, row, 4, size_str) write_cell(ws, row, 5, duration) write_cell(ws, row, 6, video_info[1]) write_cell(ws, row, 7, bitrate) write_cell(ws, row, 8, frame_rate) write_cell(ws, row, 9, ' / '.join(audio_bitrate)) write_cell(ws, row, 10, ' / '.join(audio_sampling_rate)) write_cell(ws, row, 11, ' / '.join(audio_lang)) write_cell(ws, row, 12, ratio) write_cell(ws, 2, 13, total_count) # 写入文件总数
- 在write_cell函数中,将帧率列的单元格对齐方式设置为居中:
def write_cell(ws, row, col, value): # 写入Excel cell = ws.cell(row=row, column=col, value=value) if col == 13: cell.font = Font(bold=True, color='FF0000') if col in [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12]: cell.alignment = Alignment(horizontal='left') else: cell.alignment = Alignment(horizontal='center') if col not in [3]: ws.column_dimensions[cell.column_letter].width = 11
原文地址: https://www.cveoy.top/t/topic/bfTQ 著作权归作者所有。请勿转载和采集!