Python mutagen无法正确保存

时间:2012-06-07 18:27:41

标签: python unicode utf-8 mutagen

我从Excel文档中提取文本,并将它们作为id3标记添加到某些mp3文件中。我的Excel文档中的大多数字符都是俄语(Unicode),但有些是英文字符。当我运行脚本时,所有英文标签都被正确地写为元数据,但所有俄文字符都显示为问号。如果我在控制台中打印俄语字符,它们就会完美呈现。为什么他们会被写成问号?

的Python

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!"

1 个答案:

答案 0 :(得分:1)

你应该使用'decode'或/和'encode'方法。

关于:https://stackoverflow.com/a/370199/1321404

的好答案

anoter way:https://stackoverflow.com/a/4631545/1321404