我目前使用的是http://lxyu.github.io/pinyin/,它工作得很好。
import pinyin
print pinyin.get(u'你好')我得到了'nihao‘,这是正确的。
具有以下格式的CSV文件:
陈升
"Mon Mon"
草蜢
李宇春
...但是,当我尝试这样做时:
with open('ChineseNames.csv','rb') as fin, open('output.csv','wb') as fout:
reader = csv.reader(fin, delimiter=' ', quotechar='|')
writer = csv.writer(fout)
for line in reader:
writer.writerow(pinyin.get(line))我得到了:
Traceback (most recent call last):
File "singerpinyin.py", line 12, in <module>
writer.writerow(pinyin.get(line))
File "/usr/local/lib/python2.7/dist-packages/pinyin/pinyin.py", line 30, in get
s = compat.u(s)
File "/usr/local/lib/python2.7/dist-packages/pinyin/compat.py", line 12, in u
return unicode(s, "utf-8")
TypeError: coercing to Unicode: need string or buffer, list found正在尝试:
writer.writerow(pinyin.get(u'line'))会给出错误的输出:
l,i,n,e
l,i,n,e
l,i,n,e
...任何帮助都将不胜感激。
发布于 2014-10-26 14:08:49
已解决:它应该是pinyin.get(行)。
https://stackoverflow.com/questions/26569788
复制相似问题