python 将中文转拼音后填充到url做参数并写入excel

闲着没事写了个小工具,将中文转拼音后填充到url做参数并写如excel

一.先看下演示,是个什么东西

二.代码

  代码用到一个中文转拼音的库,库是网上下的,稍微做了下修改,已经找不原来下载的地址了,然后需要装个pywin32库,用来写excel表格的,下面看代码.

#!/usr/bin/env python
# coding=utf-8# Author: ca0gu0

from lib.chinese2pinyin import search
from time import sleep
import win32com.client as win32
import getopt, sys

class Excel(object):
    def __init__(self):
        app = ‘Excel‘
        xl = win32.gencache.EnsureDispatch(‘%s.Application‘ %app)
        ss = xl.Workbooks.Add()
        self.sh = ss.ActiveSheet
        xl.Visible = True

    def write(self, row, column, string):
        sleep(0.1)
        print string, row, column
        try:
            self.sh.Cells(row,column).Value = u‘%s‘ %string
        except UnicodeDecodeError:
            self.sh.Cells(row,column).Value = ‘%s‘ %string

def Links(url,title,readfile):
    fobj = open(readfile, ‘r‘)
    excel = Excel()
    title = title.split(‘,‘)
    for column,string in enumerate(title):
        column += 1
        excel.write(1,column, string)

    row = 2
    for eachline in fobj:
        LIST = eachline.split()
        PIN = []
        for ch in LIST:
            #ch = ch.decode(‘utf-8‘)
            #ch = ch.encode(‘gbk‘)
            result = search(ch)
            PIN.append(result)
        try:
            tp = tuple(PIN)
            link = url %tp
            LIST.append(link)
            print LIST

            for column,string in enumerate(LIST):
                column += 1
                excel.write(row,column, string)
        except TypeError,e:
            print e
        row += 1
    fobj.close()

def usage():
    print u"Usage: python trf_excel.py -u http://www.xxcc.cn/?%s?%s?%s -t 计划,单元,关键词,链接"

def main():
    if len(sys.argv) <2:
        usage()
    try:
        opts, args = getopt.getopt(sys.argv[1:], "hu:t:", ["url=", "title="])
    except getopt.GetoptError as err:
        print str(err)
        usage()
        sys.exit(2)
    for o, a in opts:
        if o in ("-h"):
            usage()
        if o in ("-u", "--url"):
            url = a
            print url
        if o in ("-t", "--title"):
            title = a
            print title

    readfile = ‘citiao.txt‘
    Links(url,title,readfile)

if __name__ == ‘__main__‘:
    main()

可以命令行执行: python trf_excel.py -u http://www.xxcc.cn/?%s?%s?%s -t 字段1,字段2,字段3,链接

注意:url地址占位符用%s, -t 这个是生成excel字段标题,然后要转成中文的放到citiao.txt文件中

三.下载地址

已经放到github上了

git clone [email protected]:ca0gu0/tools.git

时间: 2024-10-20 17:40:37

python 将中文转拼音后填充到url做参数并写入excel的相关文章

python自动化测试——中文转拼音,转英文

import pinyin.cedict # 转拼音 # nǐhǎo print(pinyin.get('你好')) # ni hao print(pinyin.get('你好', format="strip", delimiter=" ")) # ni3hao3 print(pinyin.get('你好', format="numerical")) # 获取首字母 n h print(pinyin.get_initial('你好')) # 转英

Python中文转拼音代码(支持全拼和首字母缩写)

本文的代码,从https://github.com/cleverdeng/pinyin.py升级得来,针对原文的代码,做了以下升级: 1 2 3 4 1.可以传入参数firstcode:如果为true,只取汉子的第一个拼音字母:如果为false,则会输出全部拼音: 2.修复:如果为英文字母,则直接输出: 3.修复:如果分隔符为空字符串,仍然能正常输出: 4.升级:可以指定词典的文件路径 代码很简单,直接读取了一个词典(字符和英文的映射),然后挨个替换中文中的拼音即可: Python 1 2 3

python中文utf8编码后是占3个字符,unicode汉字为2字节

一个中文utf8编码后是占3个字符,所以求长度的函数可以这样写 def str_len(str): try: row_l=len(str) utf8_l=len(str.encode('utf-8')) return (utf8_l-row_l)/2+row_l except: return None return None unicode中汉字为两字节, utf-8中汉字为三字节 https://en.wikipedia.org/wiki/Unicode https://en.wikipedi

Awesome Python(中文对照)

A curated list of awesome Python frameworks, libraries and software. Inspired by awesome-php. Awesome Python Environment Management 环境管理 Package Management              软件包管理 Package Repositories              软件源 Distribution                         

java 中文转拼音之pinyin4j

一.简单介绍 有时候,需要将汉字编程对应的拼音,以方便数据的处理.比如在Android手机应用的开发上,要查询联系人的姓名,通常都是用拼音进行查询的. 比如要查询"曹孟德",就可以输入"cmd",即"曹孟德"三个汉字的拼音"caomengde"各字的首字母.但是怎样才能将"曹孟德"翻译成"caomengde"呢? 很简单的办法就是建立一个大的对照表(比如用关联容器Map),比如<&

利用Excel宏中文转拼音方法

日常工作中有许多时候需要将大量的中文名字转换为拼音,让后录入作为账号.当需要录入数量多的情况下工作量会特别多,而且对于拼音不好人更是容易出错.这里我们将使用ASCII码的原理快捷的将中文转换为拼音. 打开Excel后使用快捷键alt+f8打开宏,或点击视图-宏 创建一个宏名字为getpy,点击创建 点击创建后将原有的模块语句清空,粘贴新脚本 粘贴脚本后保存 最后在表格里使用=getpy(str)格式的命令,转换指定格的文字为拼音 转换脚本 Function pinyin(p As String)

python读取中文文件编码问题

python 读取中文文件后,作为参数使用,经常会遇到乱码或者报错asii错误等. 我们需要对中文进行decode('gbk') 如我有一个data.txt文件有如下内容: 百度 谷歌 现在想读取文件中内容构建查询语句代码如下: f=open('data.txt','r') for i in f.readlines(): data_line=i.strip() data=data_line.decode("gbk") print "this is %s"%data

SQL 用中文的拼音和笔画排序

SQL 用中文的拼音和笔画排序 城市按拼音排序: SELECT chineseName FROM [表名] order by chinesename collate Chinese_PRC_CS_AS_KS_WS asc 城市按笔划排序: SELECT chineseName FROM [表名] order by chinesename collate Chinese_PRC_Stroke_CS_AS_KS_WS   asc 以上代码中GD上调试通过. 多说两句,排序规则名称由两部份构成,前半部

python输出中文——如何在Windows控制台打印不乱码

文章介绍 用Python在控制台打印中文如何不会乱码,一直是困扰很多Pythoner的问题,甚至很多Python老手也经常犯难.原因就在于从一般网页.数据库或文本外来数据源上抓取过来的内容,需要经过正确的编解码才可以正常输出,而Python的编解码机制比较复杂,没有深入思考的话经常遇到调试错误.这篇文章介绍了最常见的几种输出中文的情况,编译平台为Windows控制台,Python版本为2.7.9 文章中一些内容参考了点击打开链接 感谢原作者分享. 预备知识 str和unicode 首先需要弄清楚