Добавление тегов MP3 с помощью Excel

#python #python-3.x

#python #python-3.x

Вопрос:

Прошу вашей помощи, поскольку я пытаюсь использовать документ Excel для добавления тегов MP3. При запуске он добавляет последнюю запись документа Excel ко всем файлам MP3. То, что я пытаюсь сделать, это добавить каждую отдельную запись в каждый файл MP3. Как это можно решить? Спасибо.

 from openpyxl import load_workbook
    import os
    import eyed3
    import datetime
    
    os.chdir('C:\users\info\Desktop\')
    book = load_workbook('Test.xlsx')
    sheet = book['Sheet1']
    
    os.chdir('C:\Users\Info\Desktop\The Holy Spirit Insie Me Vol 1\The Holy Spirit Insie Me Vol 1 - Copy\')
    for filename in os.listdir():
        #if filename.endswith('.mp3'):
            #os.unlink(filename)
           for row in sheet.rows:
                 #Current_Date = datetime.datetime.today().strftime ('%y-%m-%d')
                 audiofile = eyed3.load('C:\Users\info\Desktop\The Holy Spirit Insie Me Vol 1\The Holy Spirit Insie Me Vol 1 - Copy\'  filename)
                 audiofile.tag.artist = (row[3].value)
                 audiofile.tag.album = (row[2].value)
                 audiofile.tag.album_artist = (row[3].value)
                 audiofile.tag.title = (row[2].value)
                 audiofile.tag.track_num = (row[0].value)
                 audiofile.tag.save()
    
    
    print(filename)
 

Ответ №1:

Ваш 2-й цикл for перебирает все строки листа и присваивает каждую по очереди, пока не будет получена последняя строка. Вы хотите либо использовать определенную строку (путем поиска файла на вашем листе, чтобы определить правильную строку; для этого можно использовать 2-й цикл for , вам просто нужно, чтобы figure устанавливал значения только условно, если это правильная строка), либо определить номер строки, который вы хотитеувеличьте во внешнем цикле, который затем используется для индексации в лист.строки (предполагается, что os.listdir() возвращает файлы в четко определенном порядке. Если он сначала не отсортирует результат).

Комментарии:

1. Спасибо за ответ. Я искал, но не придумал много деталей. Можете ли вы порекомендовать мне некоторые веб-сайты / информацию для проверки? Спасибо

2. Я бы искал программу, которая была разработана для этого, а не создавала свою собственную. Не уверен, какую ОС вы используете, но в Linux есть id3, id3ren, id3tool, id3v2, libid3-tools, mp3info, mp3info-gtk и т.д. Моя библиотека хранится в формате artist / album / track — title.format, и один из них, я полагаю, это был id3ren, может обновлять файл на основе пути. Это сделало действительно удобным исправление ошибок. Два приведенных выше предложения должны сработать для вас. Другой способ, который может вам помочь, — это написать функцию, которая принимает имя файла и информацию, которую вы хотите установить. Затем вы можете легко увидеть, что передать.

3. Спасибо за ответы. Я работаю в Windows и благодарю за предоставленные предложения. Все это все еще так ново, поэтому я подбираю по ходу дела. Если что-нибудь, я свяжусь с вами. Спасибо

4. @GiddyHeaD если ответ был полезным, пожалуйста, сделайте его таким, и либо укажите, что на вопрос был дан ответ, либо закройте его.

5. Это полезная информация, которая дала мне некоторое представление. Из-за сбоя программного приложения потребовался сброс компьютера. В ближайшее время над этим поработаем. Еще раз спасибо за руководство и понимание.