#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. Это полезная информация, которая дала мне некоторое представление. Из-за сбоя программного приложения потребовался сброс компьютера. В ближайшее время над этим поработаем. Еще раз спасибо за руководство и понимание.