我从Excel文档中提取文本,并将它们作为id3标记添加到某些mp3文件中。我的Excel文档中的大多数字符都是俄语(Unicode),但有些是英文字符。当我运行脚本时,所有英文标签都被正确地写为元数据,但所有俄文字符都显示为问号。如果我在控制台中打印俄语字符,它们就会完美呈现。为什么他们会被写成问号?
from mutagen.easyid3 import EasyID3
import xlrd
import glob
import re
import os
for name in glob.glob('*.mp3'):
audio = EasyID3(name)
wb = xlrd.open_workbook('xl.xls')
sh = wb.sheet_by_name(u'Russian')
col_b = 1
col_c = 2
col_e = 4
col_g = 6
col_i = 8
col_k = 10
for i in range(sh.nrows):
row = sh.row_values(i)
for j in range(len(row)):
if row[j] == name:
audio["title"] = sh.cell(i,col_e).value
audio["author"] = sh.cell(i,col_i).value
audio["copyright"] = sh.cell(i,col_g).value
audio["album"] = sh.cell(i,col_k).value
audio["discsubtitle"] = sh.cell(i,col_c).value
audio.save()
print "All MP3 MetaData Parsed!"
答案 0 :(得分:1)
你应该使用'decode'或/和'encode'方法。
关于:https://stackoverflow.com/a/370199/1321404
的好答案anoter way:https://stackoverflow.com/a/4631545/1321404