首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python为一列中文字符插入一列拼音

使用Python为一列中文字符插入一列拼音
EN

Stack Overflow用户
提问于 2014-10-26 12:24:44
回答 1查看 88关注 0票数 0

我目前使用的是http://lxyu.github.io/pinyin/,它工作得很好。

代码语言:javascript
复制
import pinyin

print pinyin.get(u'你好')

我得到了'nihao‘,这是正确的。

具有以下格式的CSV文件:

代码语言:javascript
复制
陈升
"Mon Mon"
草蜢
李宇春
...

但是,当我尝试这样做时:

代码语言:javascript
复制
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))

我得到了:

代码语言:javascript
复制
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

正在尝试:

代码语言:javascript
复制
writer.writerow(pinyin.get(u'line'))

会给出错误的输出:

代码语言:javascript
复制
l,i,n,e
l,i,n,e
l,i,n,e
...

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2014-10-26 14:08:49

已解决:它应该是pinyin.get(行)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26569788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档