python音乐属性信息处理 您所在的位置:网站首页 Python下载音乐csdn python音乐属性信息处理

python音乐属性信息处理

2023-09-01 22:49| 来源: 网络整理| 查看: 265

歌曲属性信息的获取和修改

最近想下载一些歌,在车上听,但发现不同软件的信息差异颇大,想要统一处理。但当文件数量大时,用系统自带筛选器等处理方式太慢,因而用python做了一个小文件。 主要用的package是mutagen,用里面的flac和mp3模块。倘若是qqmusic的qmc等,需要自行转码,这里为保护版权,不提供相关方法。

import os import mutagen from mutagen.flac import FLAC from mutagen.mp3 import EasyMP3 import numpy as np import pandas as pd path = 'd:/yourpath/'#自己的路径 file_list = os.listdir(path) file_link = [] for i in file_list: file_link.append( path + i) name = [];title = [];album = [];artist = []; info = (title, album, artist); infostr = ('title', 'album', 'artist')

调包,定义变量。中间那步改成绝对路径的可做可不做,反正不影响整体速度。这里只做歌曲名,歌手和专辑信息。 接下来是获取歌曲信息表,并输出成excel。

def get(): for i in file_link: name.append(i) if i[-4:]=='flac': audio = FLAC(i) elif i[-3:] == 'mp3': audio = EasyMP3(i) else: audio = None if audio != None: for j in range(2): try: info[j].append(audio[infostr[j]][0]) except KeyError: info[j].append('None') try: artist.append(';'.join(audio['artist'])) except KeyError: artist.append('None') else: pass df = pd.DataFrame({'link':name,'title':title, 'album':album, 'artist':artist}) df.to_excel('music_info.xlsx')

处理文件必须得try,和判断格式,这里简单地做了一下,except了遇到的error。 如果有多个歌手,应该用分号隔开,这是计算机能识别的方式。如果是用斜杠隔开,可以在excel里修改,并用下面的函数导回去。其他信息也是一样。

def revise(): info_df = pd.read_excel('music_info_revised.xlsx') for i in range(info_df.shape[0]): if info_df.iloc[i]['link'][-4:]=='flac': audio = FLAC(info_df.iloc[i]['link']) elif info_df.iloc[i]['link'][-3:] == 'mp3': audio = EasyMP3(info_df.iloc[i]['link']) else: audio = None if audio != None: for j in range(2): try: audio[infostr[j]] = info_df.iloc[i][infostr[j]] except KeyError: audio[infostr[j]] = [None] try: audio['artist'] = info_df.iloc[i]['artist'].split(';') except KeyError: artist.append('None') else: pass audio.save()

为免撞车,这里处理的excel文件名已经改过,使用时应当将修改后的excel另存一份。 简单项目,其实只是一个文件,就用过程写法了,也没什么technique(不需要)。 之前corona virus的项目已经鸽了,后续再看吧,考完那门期末再说。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有