﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-海上月明</title><link>http://www.blogjava.net/pts/</link><description>editer by sun</description><language>zh-cn</language><lastBuildDate>Thu, 30 Apr 2026 06:24:47 GMT</lastBuildDate><pubDate>Thu, 30 Apr 2026 06:24:47 GMT</pubDate><ttl>60</ttl><item><title>数码标准照片的尺寸大小</title><link>http://www.blogjava.net/pts/archive/2015/11/10/428132.html</link><dc:creator>pts</dc:creator><author>pts</author><pubDate>Tue, 10 Nov 2015 13:56:00 GMT</pubDate><guid>http://www.blogjava.net/pts/archive/2015/11/10/428132.html</guid><wfw:comment>http://www.blogjava.net/pts/comments/428132.html</wfw:comment><comments>http://www.blogjava.net/pts/archive/2015/11/10/428132.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pts/comments/commentRss/428132.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pts/services/trackbacks/428132.html</trackback:ping><description><![CDATA[一寸照片的大小 2.5 x 3.6 cm 　 5x8寸
二寸照片的大小 3.4 x 5.2 cm　 5x9寸
三寸照片的大小 5.5 x 8.4 cm　 5x10寸
五寸照片的大小 3.5 x 5cm　　 5x12寸
六寸照片的大小 15.2x10.2cm 6x9寸
七寸照片的大小 17.8x12.7cm 6x10寸
八寸照片的大小 6 x 8 6x12寸
十寸照片的大小 8 x 10 6x14寸
十二寸照片的大小 30.5 x 25.4cm 8.5x12寸
十四寸照片的大小 10 x 14 10x14.5寸
十六寸照片的大小 12 x 16 12x17寸
十八寸照片的大小 12 x 18 12x17.5寸 
转载自网络，仅供学习，更多学习资料请访问百度空间http://hi.baidu.com/cooedu_com。
数码相机和可冲印照片最大尺寸对照表：
照片规格(英寸) （厘米） (像素)
1寸 2.5*3.5cm 413*295
身份证大头照 3.3*2.2 390*260 
2寸 3.5*5.3cm 626*413 
小2寸（护照） 4.8*3.3cm 567*390
5 寸 5x3.5 12.7*8.9 1200x840以上 100万像素 
6 寸 6x4 15.2*10.2 1440x960以上 130万像素 
7 寸 7x5 17.8*12.7 1680x1200以上 200万像素 
8 寸 8x6 20.3*15.2 1920x1440以上 300万像素 
10寸 10x8 25.4*20.3 2400x1920以上 400万像素 
12寸 12x10 30.5*20.3 2500x2000以上 500万像素
15寸 15x10 38.1*25.4 3000x2000 600万像素 
另外，数码的片子别管像素是几百万，只看长边的像素数，1200出5寸
1400出6寸，1700出7寸，类推。。。 
1.身份证(22mm*32mm) 
2.驾驶证(22mm*32mm) 
3.黑白小一寸(22mm*32mm) 
4.彩色小一寸(27mm*38mm) 
5.彩色大一寸(40mm*55mm) 
6.普通证件照(33mm*48mm)<img src ="http://www.blogjava.net/pts/aggbug/428132.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pts/" target="_blank">pts</a> 2015-11-10 21:56 <a href="http://www.blogjava.net/pts/archive/2015/11/10/428132.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Word被写保护，如何解除编辑限制</title><link>http://www.blogjava.net/pts/archive/2015/10/27/427926.html</link><dc:creator>pts</dc:creator><author>pts</author><pubDate>Tue, 27 Oct 2015 04:44:00 GMT</pubDate><guid>http://www.blogjava.net/pts/archive/2015/10/27/427926.html</guid><wfw:comment>http://www.blogjava.net/pts/comments/427926.html</wfw:comment><comments>http://www.blogjava.net/pts/archive/2015/10/27/427926.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pts/comments/commentRss/427926.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pts/services/trackbacks/427926.html</trackback:ping><description><![CDATA[<p>From：http://blog.sina.com.cn/s/blog_69c64eee0100y2b1.html</p>
<p>方法一：<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;用于word各版本。<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;把受保护的文件另存为XML格式，新存的文件用右键以记事本的方式打开，搜索&#8220;DocumentProtection&#8221;，在前面加上&#8220;un&#8221;，变为&#8220;unDocumentProtection&#8221;，保存。<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;用word打开修改后的xml格式，可以看到文件已经可以修改了。如果需要，可以重新保存为.doc格式。</p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;方法二：<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;只适用于word2007、2010版本，后缀格式为docx的。<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;1. 将Word文件的后缀名".docx"改为".rar"。<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;2. 双击打开，进入"Word"目录，找到"settings.xml"，把它解压出来。<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;3. 右键点击解压好的"settings.xml"，点击&#8220;编辑&#8221;，查找"&lt;w:documentProtection"，改成"&lt;w:undocumentProtection"，保存文件。<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;4. 把改好的"settings.xml"拖入rar文件，完成后把后缀名改回".docx"即可。<br />
<br />[&lt;w:undocumentProtection w:edit="forms" w:enforcement="on" w:unprotectPassword="888888"/&gt;]注意另存为xml时选择word 2003 xml文档格式</p><p>
&nbsp;<wbr>&nbsp;顺便把写保护的方法也弄在这边吧</p>
<p>Word如何写保护：</p>
<p>工具--&gt;保护文档--&gt;格式设置限制打钩（设置里面的东西全部点上就好）--&gt;编辑限制打钩--&gt;复选框里面选择填写窗体（这样别人就不能进行复制等编辑操作，其他能复制）--&gt;启动强制保护--&gt;输入密码--&gt;确定--&gt;保存</p><img src ="http://www.blogjava.net/pts/aggbug/427926.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pts/" target="_blank">pts</a> 2015-10-27 12:44 <a href="http://www.blogjava.net/pts/archive/2015/10/27/427926.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Word中尾部空格不能显示下划线的解决方法</title><link>http://www.blogjava.net/pts/archive/2015/06/23/425848.html</link><dc:creator>pts</dc:creator><author>pts</author><pubDate>Tue, 23 Jun 2015 09:56:00 GMT</pubDate><guid>http://www.blogjava.net/pts/archive/2015/06/23/425848.html</guid><wfw:comment>http://www.blogjava.net/pts/comments/425848.html</wfw:comment><comments>http://www.blogjava.net/pts/archive/2015/06/23/425848.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pts/comments/commentRss/425848.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pts/services/trackbacks/425848.html</trackback:ping><description><![CDATA[<p><span>症状：在使用Word2003的过程中，如果空格处在一行字的末尾，那么空格下面的下划线就显示不出来，如果空格处在字符之间或者一行的首部，那么其下面的下划线是可以显示的。<br /><br />解决方法：<br />　　Word菜单 <br />- 工具 - 选项 - 兼容性 - 找到&#8220;为尾部空格添加下划线&#8221;的选项打勾即可。（WordMenu - Tools - Options - <br />Compatibility - &#8220;Draw underline on trailing spaces&#8221;[Checked]）</span></p><p><span><br />Word2007：</span></p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 您可以通过按 Shift+ 连字符 (-) 
为空格添加下划线，但很难将下划线对齐，例如在创建待填表单时。而且，如果启用了将下划线字符更改成边框线的自动套用格式选项，在一行内按 Shift+ 连字符 (-) 
三次或更多次将产生一条扩展至段落宽度的线，这可能不是您所希望的。</p><p>为打印的文档的空格添加下划线的一个更好方法是，使用 Tab 键并将下划线格式应用于制表符。</p><p>当您要在联机表单中创建下划线时，请插入显示底部边框线的表格单元格。<br />　　另（变通方法）：在最后插入一个非间断性空格(Ctrl + Shift <br />+ Space)即可。</p><img src ="http://www.blogjava.net/pts/aggbug/425848.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pts/" target="_blank">pts</a> 2015-06-23 17:56 <a href="http://www.blogjava.net/pts/archive/2015/06/23/425848.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PYTON与EXCEL：使用pyExcelerator来读写 Excel文件</title><link>http://www.blogjava.net/pts/archive/2014/11/21/420390.html</link><dc:creator>pts</dc:creator><author>pts</author><pubDate>Fri, 21 Nov 2014 01:35:00 GMT</pubDate><guid>http://www.blogjava.net/pts/archive/2014/11/21/420390.html</guid><wfw:comment>http://www.blogjava.net/pts/comments/420390.html</wfw:comment><comments>http://www.blogjava.net/pts/archive/2014/11/21/420390.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pts/comments/commentRss/420390.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pts/services/trackbacks/420390.html</trackback:ping><description><![CDATA[【FROM】<a href="http://blog.csdn.net/suofiya2008/article/details/5589627">http://blog.csdn.net/suofiya2008/article/details/5589627</a>&nbsp;&nbsp;&nbsp; <br />我们写程序，经常会需要输出一些数据进行保存，对于格式固定的大量数据，Excel表格会是比较好的一个选择。如果你需要在Python下写入Excel文件，那么就需要用到PyExcelerator了。<p>PyExcelerator是一个第三方库，用来处理Excel文件。它的优点是：</p><p>简单易用，上手快。</p><p>写操作很方便，适合用来生成Excel文件记录数据。</p><p>不需要WinCOM支持，没装Office也 可以生成Excel表格</p><p>当然，PyExcelerator也是有缺点的，它所提供的读写操作方式相对简单，要对已有的Excel文件进行修改，就显得比较麻烦了。</p><p>如果要对已有的Excel表格进行较复杂的修改操作，选择PyExcelerator就不太合适了，这时候可以试试另外的方法。比如使用pywin32通过WinCOM来操作Excel表格，或者使用xlrd。</p><p>PyExcelerator的官方主页是<a href="http://sourceforge.net/projects/pyexcelerator">http://sourceforge.net/projects/pyexcelerator</a>，程序包中并没有太多的教程文档，不过包含了一些简单的示范操作的小例子，如果需要更详细的信息，就只能读源代码了。</p><p>&nbsp;</p><p>一。初始pyExcelerator</p><p>&nbsp;</p><p>&nbsp;&nbsp;&nbsp;&nbsp; pyExcelerator是一个基于python的可以读写excel文件的产品。和xlrd相比，pyExcelrator的主要特点在于可以对excel文件进行写操作。但是在读取数据方面，功能就没有xlrd强大了。</p><p>　　pyExcelerator只能提供关于表单内容的基础数据，对于表单行数、列数、单元格数据类型等详细信息都没有提供访问接口。因此开发人员必须了解表单的具体结构，才对表单中的数据进行正确的分析转换。</p><p>　　将pyExcelerator产品包（pyexcelerator-0.6.3a.tgz）上传到服务器上之后解压缩，然后在产品目录下键入如下命令：</p><pre>   <span style="background-color: rgb(136, 136, 136);">  <span style="color: rgb(255, 0, 0);"># python setup.py install</span>






</span>
在命令行中，你将看到一连串的running，creating，copying，byte&#8212;compiling命令结果，吧啦吧啦。。。



最后一行出现

Writing C:/Python26/Lib/site-packages/pyExcelerator-0.6.4.1-py2.6.egg-info



说明已经将插件安装到你的python环境中了，至此安装完成。



这里提一个小例子：</pre><div class="wp_syntax"><div class="code"><div class="dp-highlighter bg_python"><div class="bar"><div class="tools"><strong>[python]</strong> <a title="view plain" class="ViewSource" href="http://blog.csdn.net/suofiya2008/article/details/5589627#"><u><font color="#0066cc">view plain</font></u></a><a title="copy" class="CopyToClipboard" href="http://blog.csdn.net/suofiya2008/article/details/5589627#"><u><font color="#0066cc">copy</font></u></a><a title="print" class="PrintSource" href="http://blog.csdn.net/suofiya2008/article/details/5589627#"><u><font color="#0066cc">print</font></u></a><a title="?" class="About" href="http://blog.csdn.net/suofiya2008/article/details/5589627#"><u><font color="#0066cc">?</font></u></a></div></div><ol class="dp-py"><li class="alt"><span class="keyword">from</span><span>&nbsp;pyExcelerator&nbsp;</span><span class="keyword">import</span><span>&nbsp;*&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>w&nbsp;=&nbsp;Workbook()&nbsp;<span class="comment">#创建一个工作簿</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>ws&nbsp;=&nbsp;w.add_sheet(<span class="string">'Hey,&nbsp;Hades'</span><span>)&nbsp;</span><span class="comment">#创建一个工作表</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>ws.write(<span class="number">0</span><span>,</span><span class="number">0</span><span>,</span><span class="string">'bit'</span><span>)&nbsp;</span><span class="comment">#在1行1列写入bit</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>ws.write(<span class="number">0</span><span>,</span><span class="number">1</span><span>,</span><span class="string">'huang'</span><span>)&nbsp;</span><span class="comment">#在1行2列写入huang</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>ws.write(<span class="number">1</span><span>,</span><span class="number">0</span><span>,</span><span class="string">'xuan'</span><span>)&nbsp;</span><span class="comment">#在2行1列写入xuan</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>w.save(<span class="string">'mini.xls'</span><span>)&nbsp;</span><span class="comment">#保存</span><span>&nbsp;&nbsp;</span></span></li></ol></div><pre class="python" style="text-align: left; font-family: monospace; display: none;" name="code">from pyExcelerator import *



w = Workbook() #创建一个工作簿



ws = w.add_sheet('Hey, Hades') #创建一个工作表



ws.write(0,0,'bit') #在1行1列写入bit



ws.write(0,1,'huang') #在1行2列写入huang



ws.write(1,0,'xuan') #在2行1列写入xuan



w.save('mini.xls') #保存</pre><h5><a name="t0"></a>二、Excel文件读取</h5><blockquote><p>from pyExcelerator import *<br /> sheets = parse_xls('d:/a.xls')</p></blockquote><p>很简单，与 xlrd 不同。xlrd 需要先调用book = xlrd.open_workbook(filename)打开文档，然后再调用sh= book.sheet_by_index(i)来得到第几个sheet，然后再使用sh.cell_value(i,j)得到i行j列的单元格的值。操作多了一点。而上面的parse_xls(filename)则直接返回一个列表，每一项就是一个sheet的数据。每项是一个二元组(表名,单元格数据)。其中单元格数据为一个字典，键值就是单元格的索引(i,j)。如果某个单元格无数据，那么就不存在这个值。看似简单，但从处理上不象&nbsp; xlrd 一样，可以知道每个sheet的最大行数和列数，然后进行循环。而使用 pyExcelerator好象没有最大行数和列数，再加上空数据又不存在，因此在处理上相对麻烦一些。这样在处理上还需要注意。它与 xlrd 一样都支持 unicode，但好象没有 xlrd 一样方便地判断单元格的类型的方法，感觉还是 xlrd在功能上可能要强一些。当然这只是个人感觉，再加上只是看了看例子，并没有怎么使用。 </p><h5><a name="t1"></a>三、Excel文件写入</h5><p>这个才是重头。那么安装好 pyExcelerator 之后，读了 Readme.txt 之后了解到它的文档正在进行当中，因此想多了解如何使用它需要看它所带的例子，甚至看源程序。下面是我从例子中了解的如何写一个 Excel 文档需要了解的。 </p><p>为了方便，在导入这个模块中使用了import *的方式。 </p><blockquote><p>from pyExcelerator import *</p></blockquote><p>首先导入模块，然后是生成工作薄。 </p><blockquote><p>w = Workbook()</p></blockquote><p>接着是加入一个工作表(sheet)。 </p><blockquote><p>ws = w.add_sheet('Hey, Dude')</p></blockquote><p>然后就可以保存了。 </p><blockquote><p>w.save('mini.xls')</p></blockquote><p>上面的代码加在一起就是： </p><blockquote><p>from pyExcelerator import * </p><p>w = Workbook()<br /> ws = w.add_sheet('Hey, Dude')<br /> w.save('mini.xls')</p></blockquote><p>这就是最小的一个例子了，在例子中叫mini.py。你可以在例子目录下运行mini.py看一看是不是生成了一个空的Excel文件。 </p><p>如果想加入中文很简单，改为： </p><blockquote><p>#coding=cp936<br /> from pyExcelerator import * </p><p>w = Workbook()<br /> ws = w.add_sheet(u'这是中文')<br />w.save('mini.xls')</p></blockquote><p>这样上面的执行结果是生成一个空Excel文件，但它的第一个sheet的名字为&#8220;这是中文&#8221;。就这样，只要保证你写入时使用unicode就行了。 </p><p>空文件可以生成，那么如何插入单元格呢？ </p><blockquote><p>ws.write(i, j, value)</p></blockquote><p>其中value为值，可以是unicode。 </p><p>接着，我们可能想改变单元格的样式，如字体： </p><blockquote><p>font0 = Font()<br /> font0.name = 'Times New Roman'<br /> font0.struck_out = True<br /> font0.bold = True </p><p>style0 = XFStyle()<br /> style0.font = font0</p></blockquote><p>这样我们创建了一个字体，然后又生成了一个样式。注意，<strong>真正起作用的是样式</strong>，字体不过是样式中的一种效果。 </p><p>这样在写入单元格时带着这个样式就行了，还是使用上面的write()方法： </p><blockquote><p>ws.write(1, 1, 'Test', style0)</p></blockquote><p>这是在名为ws的sheet中的第(1,1)单元格写入了值为"Test"的内容，并且它的样式为style0。 </p><p>然后我们还可以设置单元格的边框： </p><blockquote><p>&nbsp;&nbsp;&nbsp; borders = Borders()<br /> &nbsp;&nbsp;&nbsp; borders.left = 5<br /> &nbsp;&nbsp;&nbsp; style.borders = borders</p></blockquote><div class="code">上面创建了一个边框效果，设置了左边框，至于５是什么意思，我也不清楚，随便写的。然后放到样式中。</div><div class="code">上面的例子可以参考format.py程序</div><div class="code"><br /></div><div class="code"><p class="postText">其它还有许多的效果，简单地列一下：</p><table style="width: 400px;" border="1" cellspacing="1" cellpadding="1"><tbody><tr><td>&nbsp;示例名</td><td>说明&nbsp;</td></tr><tr><td>&nbsp;col_width.py</td><td>改变单元格宽度&nbsp;</td></tr><tr><td>&nbsp;row_style.py</td><td>设置行的高度&nbsp;</td></tr><tr><td>&nbsp;merged*.py</td><td><p>单元格合并&nbsp;</p></td></tr><tr><td>&nbsp;image.py</td><td><p>插入图片&nbsp;</p></td></tr><tr><td>&nbsp;outline*.py</td><td><p>大纲效果(以前真没用过)&nbsp;</p></td></tr><tr><td>&nbsp;wsprops.py</td><td><p>sheet的属性值打印&nbsp;</p></td></tr><tr><td>&nbsp;xls2*.py</td><td><p>Excel转为其它的文件格式&nbsp;</p></td></tr></tbody></table><p class="postText">大家有兴趣自已照着例子学吧。</p><p class="postText">&nbsp;</p><p class="postText">&nbsp;</p><p class="postText">&nbsp;</p><p class="postText">四： 时间小示例</p><p class="postText">&nbsp;</p><p class="postText">给俺的boss写的一个小工具，使用Python对Excel进行统计，然后把结束生成一个新的Excel表格，使用到了<a href="http://www.lexicon.net/sjmachin/xlrd.htm" target="_blank">xlrd</a>和<a href="http://sourceforge.net/projects/pyexcelerator/" target="_blank">pyExcelerator</a>两个库。<br /> 简单的介绍一下这两个库，先说xlrd，这个库读Excel比较方便，各种方法使用起来也挺方便：<br />bk = xlrd.open_workbook('your.xls')<br /> sh = bk.sheets()[-1]<br />上面两句就可以打开Excel表格中的一个sheet，sheets得到的是一个list，存放所有的sheet。<br />sh.nrows是该sheet中的行数，知道这个后就可以使用for循环来读所有的单元格了：<br />sh.row(i)[3]这个就代表第i行的第4列。<br /> 再看看pyExcelerator，这个用起来有点别扭：<br />sheets = parse_xls('result.xls')<br />先打开一个表格，sheets是一个list，包含了所有表格的内容，每一项就是一个sheet，而每个sheet是二元tuple，第一个是该sheet的名字，第二个是一个dict，dict的key是一个二元组，表示单元格的坐标，如(0,0)，第一行第一列。<br /> 从上面的分析中可以得出要访问Excel中第一个sheet的第一行第一列元素需要：<br />sheets[0][1][(0,0)]<br /> pyExcelerator也不能得到行列数。<br /> 写文件也比较简单：<br />wb = Workbook()<br /> ws = wb.add_sheet('result')<br /> ws.write(0,0,&#8220;hello&#8221;)<br />wb.save('result.xls')<br />就不解释了:-)<br />写文件时需要注意直接写Unicode内容进去，而不要写编码过的内容。<br /> 给boss的代码：PYTHON: <br /> #!/usr/bin/env python<br /> # -*- coding=utf-8 -*-<br /> #Using GPL v2<br /><br /> import xlrd<br /> from pyExcelerator import *<br /><br /> city = [(u'山城','[2,3]d+'),(u'水国','4d+'),(u'火县','5d+'),<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (u'土城','6d+'),(u'土国','7d+'),(u'火乡','8[1-5]d+'),<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (u'水乡','8[067]d+'),]<br /><br /> fname = '0107CRM.xls'<br /> bk = xlrd.open_workbook(fname)<br /> sh = bk.sheets()[-1]<br /> nrows = sh.nrows<br /> #result中按顺序存放各city中各套餐的数量<br />#顺序为XTa+、XTb、XTb+<br /> result = []<br /> for i in range(len(city)):<br /> &nbsp;&nbsp;&nbsp; result.append([0,0,0])<br /><br /><br /> for r in range(1,nrows):<br /> &nbsp;&nbsp;&nbsp; num = str(sh.row(r)[3])[7:]<br /> &nbsp;&nbsp;&nbsp; flag = False<br /> &nbsp;&nbsp;&nbsp; for i in range(len(city)):<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if re.match(city[i][1],num):<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; flag = True<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if sh.row(r)[2].value == 3001.0:<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name = sh.row(r)[0].value.encode('utf8')<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 'XTa＋' in name:<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result[i][0]+=1<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 'XTb' in name and 'XTb＋' not in name:<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result[i][1]+=1<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 'XTb＋' in name:<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; result[i][2]+=1<br /> &nbsp;&nbsp;&nbsp; if not flag:<br /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print "NO:"+num<br /><br /> print result<br /><br /> titles = [u'局向',u'数',u'M录入数',u'X数',&#8230;&#8230;&#8230;&#8230;]<br />wb = Workbook()<br /> ws = wb.add_sheet('result')<br /> for i in range(len(titles)):<br /> &nbsp;&nbsp;&nbsp; ws.write(0,i,titles[i])<br /><br /><span style="color: rgb(0, 0, 255);">for i in range(len(city)):<br /> &nbsp;&nbsp;&nbsp; ws.write(i+1,0,city[i][0])<br /> &nbsp;&nbsp;&nbsp; ws.write(i+1,1,result[i][0])<br /> &nbsp;&nbsp;&nbsp; ws.write(i+1,4,result[i][1])<br /> &nbsp;&nbsp;&nbsp; ws.write(i+1,7,result[i][2])<br /> &nbsp;&nbsp;&nbsp; ws.write(i+1,10,result[i][0]+result[i][1]+result[i][2])<br /> ws.write(i+2,1,"=SUM(B2:B8)")<br /> wb.save('result.xls')</span></p><p class="postText"><br /></p><p class="postText"><span style="color: rgb(51, 51, 51);"><strong>后记:</strong></span></p><p class="postText">python对excel的操作确实不太强大，目前为止我只用过pyExcelerator，还有一个xlrd-xlwt的plugin；貌似这几个对日常简单的excel操作就够用了！</p><p class="postText">最近回头看这篇blog的阅读量还是挺大，今天工作之余写下此后记，希望能和各位python高手们交流，共同提高！</p><p class="postText"><br /></p><p class="postText">excel相关文章：<br /></p><p class="postText">1.xlrd-xlwt模块&nbsp; <span class="link_title"><a title="xlrd读取excel文件(基本功能)" href="http://blog.csdn.net/suofiya2008/article/details/5587386">xlrd读取excel文件(基本功能)</a></span> <br /></p><p class="postText">2. 我同事鱿鱼哥解决excel2007读写的文章<span class="link_title"><a title="openpyxl 读写excel2007使用笔记【感谢鱿鱼哥】" href="http://blog.csdn.net/suofiya2008/article/details/6284208"> openpyxl 读写excel2007使用笔记【感谢鱿鱼哥】</a></span></p></div></div></div><img src ="http://www.blogjava.net/pts/aggbug/420390.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pts/" target="_blank">pts</a> 2014-11-21 09:35 <a href="http://www.blogjava.net/pts/archive/2014/11/21/420390.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PYTHON与EXCEL：openpyxl 读写excel2007</title><link>http://www.blogjava.net/pts/archive/2014/11/21/420389.html</link><dc:creator>pts</dc:creator><author>pts</author><pubDate>Fri, 21 Nov 2014 01:34:00 GMT</pubDate><guid>http://www.blogjava.net/pts/archive/2014/11/21/420389.html</guid><wfw:comment>http://www.blogjava.net/pts/comments/420389.html</wfw:comment><comments>http://www.blogjava.net/pts/archive/2014/11/21/420389.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pts/comments/commentRss/420389.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pts/services/trackbacks/420389.html</trackback:ping><description><![CDATA[<p>【FROM】</p><p><a href="http://blog.csdn.net/suofiya2008/article/details/6284208">http://blog.csdn.net/suofiya2008/article/details/6284208</a><br /><br />有一万年没来这儿写blog了，今天等着发版，抽空来写点东西吧。</p><p>python有很多模块都是用来操作excel的，比如xlrd，xlwt，pyExcelerator。用着很方便，但是问题是，只能支持到 excel2003。虽然一般的应用其实足够了，但是如果遇到了导出大量数据（超过65535条）的需求时，excel2003就不够用了。所以我就只好 去找一个能支持excel2007的模块。</p><p>google了一下，发现了这个openpyxl，不过网上也没什么中文的文档可以看，于是就自己琢磨琢磨。</p><p>I.安装</p><p>openpyxl的最新版本是1.5.0 下载地址 <a href="http://pypi.python.org/pypi/openpyxl/1.5.0">http://pypi.python.org/pypi/openpyxl/1.5.0</a> </p><p>需求python的版本是2.6+&nbsp;&nbsp;，也就是说，如果centOS系统的机器想用，那得升级系统的python。。。</p><p>安装就是解压缩，然后cd到目录，然后</p><p><span style="color: rgb(255, 0, 0);">python setup.py install</span> </p><p><span style="color: rgb(0, 0, 0);">你懂的~</span> </p><p>&nbsp;II.读取excel2007文件</p><div class="dp-highlighter"><div class="bar"><div class="tools"><a href="http://blog.csdn.net/hxsyewlink/archive/2011/03/21/6265790.aspx"><u><font color="#0066cc">view plain</font></u></a> <a href="http://blog.csdn.net/hxsyewlink/archive/2011/03/21/6265790.aspx"><u><font color="#0066cc">copy to clipboard</font></u></a> <a href="http://blog.csdn.net/hxsyewlink/archive/2011/03/21/6265790.aspx"><u><font color="#0066cc">print</font></u></a> <a href="http://blog.csdn.net/hxsyewlink/archive/2011/03/21/6265790.aspx"><u><font color="#0066cc">?</font></u></a> </div></div><ol class="dp-py"><li class="alt"><span class="comment">#-*-&nbsp;coding:utf-8&nbsp;-*</span> <span>&nbsp;&nbsp;</span>  </li><li><span>&nbsp;&nbsp;</span> </li><li class="alt"><span class="keyword">from</span> <span>&nbsp;openpyxl.reader.excel&nbsp;</span> <span class="keyword">import</span> <span>&nbsp;load_workbook&nbsp;&nbsp;</span>  </li><li><span class="keyword">import</span> <span>&nbsp;MySQLdb&nbsp;&nbsp;</span>  </li><li class="alt"><span class="keyword">import</span> <span>&nbsp;time&nbsp;&nbsp;</span>  </li><li><span>&nbsp;&nbsp;</span> </li><li class="alt"><span class="comment">#开始时间</span> <span>&nbsp;&nbsp;</span>  </li><li><span>startTime&nbsp;=&nbsp;time.time()&nbsp;&nbsp;</span> </li><li class="alt"><span>&nbsp;&nbsp;</span> </li><li><span class="comment">#读取excel2007文件</span> <span>&nbsp;&nbsp;</span>  </li><li class="alt"><span>wb&nbsp;=&nbsp;load_workbook(filename&nbsp;=&nbsp;r<span class="string">'empty_book.xlsx'</span> <span>)&nbsp;&nbsp;</span> </span> </li><li><span>&nbsp;&nbsp;</span> </li><li class="alt"><span class="comment">#显示有多少张表</span> <span>&nbsp;&nbsp;</span>  </li><li><span class="keyword">print</span> <span>&nbsp;</span> <span class="string">"Worksheet&nbsp;range(s):"</span> <span>,&nbsp;wb.get_named_ranges()&nbsp;&nbsp;</span>  </li><li class="alt"><span class="keyword">print</span> <span>&nbsp;</span> <span class="string">"Worksheet&nbsp;name(s):"</span> <span>,&nbsp;wb.get_sheet_names()&nbsp;&nbsp;</span>  </li><li><span>&nbsp;&nbsp;</span> </li><li class="alt"><span class="comment">#取第一张表</span> <span>&nbsp;&nbsp;</span>  </li><li><span>sheetnames&nbsp;=&nbsp;wb.get_sheet_names()&nbsp;&nbsp;</span> </li><li class="alt"><span>ws&nbsp;=&nbsp;wb.get_sheet_by_name(sheetnames[<span class="number">0</span> <span>])&nbsp;&nbsp;</span> </span> </li><li><span>&nbsp;&nbsp;</span> </li><li class="alt"><span class="comment">#显示表名，表行数，表列数</span> <span>&nbsp;&nbsp;</span>  </li><li><span class="keyword">print</span> <span>&nbsp;</span> <span class="string">"Work&nbsp;Sheet&nbsp;Titile:"</span> <span>,ws.title&nbsp;&nbsp;</span>  </li><li class="alt"><span class="keyword">print</span> <span>&nbsp;</span> <span class="string">"Work&nbsp;Sheet&nbsp;Rows:"</span> <span>,ws.get_highest_row()&nbsp;&nbsp;</span>  </li><li><span class="keyword">print</span> <span>&nbsp;</span> <span class="string">"Work&nbsp;Sheet&nbsp;Cols:"</span> <span>,ws.get_highest_column()&nbsp;&nbsp;</span>  </li><li class="alt"><span>&nbsp;&nbsp;</span> </li><li><span>&nbsp;&nbsp;</span> </li><li class="alt"><span class="comment">#&nbsp;建立存储数据的字典&nbsp;</span> <span>&nbsp;&nbsp;</span>  </li><li><span>data_dic&nbsp;=&nbsp;{}&nbsp;&nbsp;&nbsp;</span> </li><li class="alt"><span>&nbsp;&nbsp;</span> </li><li><span class="comment">#把数据存到字典中</span> <span>&nbsp;&nbsp;</span>  </li><li class="alt"><span class="keyword">for</span> <span>&nbsp;rx&nbsp;</span> <span class="keyword">in</span> <span>&nbsp;range(ws.get_highest_row()):&nbsp;&nbsp;</span>  </li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> </li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;temp_list&nbsp;=&nbsp;[]&nbsp;&nbsp;</span> </li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;pid&nbsp;=&nbsp;ws.cell(row&nbsp;=&nbsp;rx,column&nbsp;=&nbsp;<span class="number">0</span> <span>).value&nbsp;&nbsp;</span> </span> </li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;w1&nbsp;=&nbsp;ws.cell(row&nbsp;=&nbsp;rx,column&nbsp;=&nbsp;<span class="number">1</span> <span>).value&nbsp;&nbsp;</span> </span> </li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;w2&nbsp;=&nbsp;ws.cell(row&nbsp;=&nbsp;rx,column&nbsp;=&nbsp;<span class="number">2</span> <span>).value&nbsp;&nbsp;</span> </span> </li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;w3&nbsp;=&nbsp;ws.cell(row&nbsp;=&nbsp;rx,column&nbsp;=&nbsp;<span class="number">3</span> <span>).value&nbsp;&nbsp;</span> </span> </li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;w4&nbsp;=&nbsp;ws.cell(row&nbsp;=&nbsp;rx,column&nbsp;=&nbsp;<span class="number">4</span> <span>).value&nbsp;&nbsp;</span> </span> </li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;temp_list&nbsp;=&nbsp;[w1,w2,w3,w4]&nbsp;&nbsp;</span> </li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> </li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;data_dic[pid]&nbsp;=&nbsp;temp_list&nbsp;&nbsp;</span> </li><li><span>&nbsp;&nbsp;</span> </li><li class="alt"><span class="comment">#打印字典数据个数</span> <span>&nbsp;&nbsp;</span>  </li><li><span class="keyword">print</span> <span>&nbsp;</span> <span class="string">'Total:%d'</span> <span>&nbsp;%len(data_dic)&nbsp;&nbsp;</span>  </li></ol></div><p><div class="dp-highlighter bg_python"><div class="bar"><div class="tools"><strong>[python]</strong> <a title="view plain" class="ViewSource" href="http://blog.csdn.net/suofiya2008/article/details/6284208#"><u><font color="#0066cc">view plain</font></u></a><a title="copy" class="CopyToClipboard" href="http://blog.csdn.net/suofiya2008/article/details/6284208#"><u><font color="#0066cc">copy</font></u></a><a title="print" class="PrintSource" href="http://blog.csdn.net/suofiya2008/article/details/6284208#"><u><font color="#0066cc">print</font></u></a><a title="?" class="About" href="http://blog.csdn.net/suofiya2008/article/details/6284208#"><u><font color="#0066cc">?</font></u></a></div></div><ol class="dp-py"><li class="alt"><span class="comment">#-*-&nbsp;coding:utf-8&nbsp;-*</span><span>&nbsp;&nbsp;</span></li><li><span class="keyword">from</span><span>&nbsp;openpyxl.reader.excel&nbsp;</span><span class="keyword">import</span><span>&nbsp;load_workbook&nbsp;&nbsp;</span></li><li class="alt"><span class="keyword">import</span><span>&nbsp;MySQLdb&nbsp;&nbsp;</span></li><li><span class="keyword">import</span><span>&nbsp;time&nbsp;&nbsp;</span></li><li class="alt"><span class="comment">#开始时间</span><span>&nbsp;&nbsp;</span></li><li><span>startTime&nbsp;=&nbsp;time.time()&nbsp;&nbsp;</span></li><li class="alt"><span class="comment">#读取excel2007文件</span><span>&nbsp;&nbsp;</span></li><li><span>wb&nbsp;=&nbsp;load_workbook(filename&nbsp;=&nbsp;r<span class="string">'empty_book.xlsx'</span><span>)&nbsp;&nbsp;</span></span></li><li class="alt"><span class="comment">#显示有多少张表</span><span>&nbsp;&nbsp;</span></li><li><span class="keyword">print</span><span>&nbsp;</span><span class="string">"Worksheet&nbsp;range(s):"</span><span>,&nbsp;wb.get_named_ranges()&nbsp;&nbsp;</span></li><li class="alt"><span class="keyword">print</span><span>&nbsp;</span><span class="string">"Worksheet&nbsp;name(s):"</span><span>,&nbsp;wb.get_sheet_names()&nbsp;&nbsp;</span></li><li><span class="comment">#取第一张表</span><span>&nbsp;&nbsp;</span></li><li class="alt"><span>sheetnames&nbsp;=&nbsp;wb.get_sheet_names()&nbsp;&nbsp;</span></li><li><span>ws&nbsp;=&nbsp;wb.get_sheet_by_name(sheetnames[<span class="number">0</span><span>])&nbsp;&nbsp;</span></span></li><li class="alt"><span class="comment">#显示表名，表行数，表列数</span><span>&nbsp;&nbsp;</span></li><li><span class="keyword">print</span><span>&nbsp;</span><span class="string">"Work&nbsp;Sheet&nbsp;Titile:"</span><span>,ws.title&nbsp;&nbsp;</span></li><li class="alt"><span class="keyword">print</span><span>&nbsp;</span><span class="string">"Work&nbsp;Sheet&nbsp;Rows:"</span><span>,ws.get_highest_row()&nbsp;&nbsp;</span></li><li><span class="keyword">print</span><span>&nbsp;</span><span class="string">"Work&nbsp;Sheet&nbsp;Cols:"</span><span>,ws.get_highest_column()&nbsp;&nbsp;</span></li><li class="alt"><span class="comment">#&nbsp;建立存储数据的字典&nbsp;</span><span>&nbsp;&nbsp;</span></li><li><span>data_dic&nbsp;=&nbsp;{}&nbsp;&nbsp;&nbsp;</span></li><li class="alt"><span class="comment">#把数据存到字典中</span><span>&nbsp;&nbsp;</span></li><li><span class="keyword">for</span><span>&nbsp;rx&nbsp;</span><span class="keyword">in</span><span>&nbsp;range(ws.get_highest_row()):&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;temp_list&nbsp;=&nbsp;[]&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;pid&nbsp;=&nbsp;ws.cell(row&nbsp;=&nbsp;rx,column&nbsp;=&nbsp;<span class="number">0</span><span>).value&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;w1&nbsp;=&nbsp;ws.cell(row&nbsp;=&nbsp;rx,column&nbsp;=&nbsp;<span class="number">1</span><span>).value&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;w2&nbsp;=&nbsp;ws.cell(row&nbsp;=&nbsp;rx,column&nbsp;=&nbsp;<span class="number">2</span><span>).value&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;w3&nbsp;=&nbsp;ws.cell(row&nbsp;=&nbsp;rx,column&nbsp;=&nbsp;<span class="number">3</span><span>).value&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;w4&nbsp;=&nbsp;ws.cell(row&nbsp;=&nbsp;rx,column&nbsp;=&nbsp;<span class="number">4</span><span>).value&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;temp_list&nbsp;=&nbsp;[w1,w2,w3,w4]&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;data_dic[pid]&nbsp;=&nbsp;temp_list&nbsp;&nbsp;</span></li><li class="alt"><span class="comment">#打印字典数据个数</span><span>&nbsp;&nbsp;</span></li><li><span class="keyword">print</span><span>&nbsp;</span><span class="string">'Total:%d'</span><span>&nbsp;%len(data_dic)&nbsp;&nbsp;</span></li></ol></div><textarea name="code" class="python" style="display: none;" rows="15" cols="50">#-*- coding:utf-8 -*
from openpyxl.reader.excel import load_workbook
import MySQLdb
import time
#开始时间
startTime = time.time()
#读取excel2007文件
wb = load_workbook(filename = r'empty_book.xlsx')
#显示有多少张表
print "Worksheet range(s):", wb.get_named_ranges()
print "Worksheet name(s):", wb.get_sheet_names()
#取第一张表
sheetnames = wb.get_sheet_names()
ws = wb.get_sheet_by_name(sheetnames[0])
#显示表名，表行数，表列数
print "Work Sheet Titile:",ws.title
print "Work Sheet Rows:",ws.get_highest_row()
print "Work Sheet Cols:",ws.get_highest_column()
# 建立存储数据的字典 
data_dic = {} 
#把数据存到字典中
for rx in range(ws.get_highest_row()):
    
    temp_list = []
    pid = ws.cell(row = rx,column = 0).value
    w1 = ws.cell(row = rx,column = 1).value
    w2 = ws.cell(row = rx,column = 2).value
    w3 = ws.cell(row = rx,column = 3).value
    w4 = ws.cell(row = rx,column = 4).value
    temp_list = [w1,w2,w3,w4]
   
    data_dic[pid] = temp_list
#打印字典数据个数
print 'Total:%d' %len(data_dic)</textarea><p>&nbsp;</p>&nbsp;&nbsp;&nbsp; <p>&nbsp;注意的是ws.cell()方法，支持的参数有两种，<span style="font-family: Courier New;">cell（</span> <em>coordinate=None</em> , <em>row=None</em> , <em>column=None）</em> </p><p><em></em> </p><p>coordinate坐标，eg&nbsp; ws.cell("B1") </p><p>row 和 column 是行和列 ，都是从0开始</p><p>还有，如果想取得格里的值，得用ws.cell("A1").value 取到，如果用过xlrd，因为写法差不多，可能就会忘记加value了。</p><p>III.写入excel2007</p><p>&nbsp;</p><div class="dp-highlighter"><div class="bar"><div class="tools"><a href="http://blog.csdn.net/hxsyewlink/archive/2011/03/21/6265790.aspx"><u><font color="#0066cc">view plain</font></u></a> <a href="http://blog.csdn.net/hxsyewlink/archive/2011/03/21/6265790.aspx"><u><font color="#0066cc">copy to clipboard</font></u></a> <a href="http://blog.csdn.net/hxsyewlink/archive/2011/03/21/6265790.aspx"><u><font color="#0066cc">print</font></u></a> <a href="http://blog.csdn.net/hxsyewlink/archive/2011/03/21/6265790.aspx"><u><font color="#0066cc">?</font></u></a> </div></div><ol class="dp-py"><li class="alt"><span>写excel2007&nbsp;&nbsp;</span>  </li><li><span>&nbsp;&nbsp;</span> </li><li class="alt"><span class="comment">#-*-&nbsp;coding:utf-8&nbsp;-*</span> <span>&nbsp;&nbsp;</span>  </li><li><span>&nbsp;&nbsp;</span> </li><li class="alt"><span>&nbsp;&nbsp;</span> </li><li><span class="keyword">import</span> <span>&nbsp;MySQLdb&nbsp;&nbsp;</span>  </li><li class="alt"><span class="keyword">import</span> <span>&nbsp;time&nbsp;&nbsp;</span>  </li><li><span class="keyword">import</span> <span>&nbsp;sys&nbsp;&nbsp;</span>  </li><li class="alt"><span class="comment">#workbook相关</span> <span>&nbsp;&nbsp;</span>  </li><li><span class="keyword">from</span> <span>&nbsp;openpyxl.workbook&nbsp;</span> <span class="keyword">import</span> <span>&nbsp;Workbook&nbsp;&nbsp;</span>  </li><li class="alt"><span class="comment">#万恶的ExcelWriter，妹的封装好了不早说，封装了很强大的excel写的功能</span> <span>&nbsp;&nbsp;</span>  </li><li><span class="keyword">from</span> <span>&nbsp;openpyxl.writer.excel&nbsp;</span> <span class="keyword">import</span> <span>&nbsp;ExcelWriter&nbsp;&nbsp;</span>  </li><li class="alt"><span class="comment">#一个eggache的数字转为列字母的方法</span> <span>&nbsp;&nbsp;</span>  </li><li><span class="keyword">from</span> <span>&nbsp;openpyxl.cell&nbsp;</span> <span class="keyword">import</span> <span>&nbsp;get_column_letter&nbsp;&nbsp;</span>  </li><li class="alt"><span>&nbsp;&nbsp;</span> </li><li><span>&nbsp;&nbsp;</span> </li><li class="alt"><span class="comment">#新建一个workbook</span> <span>&nbsp;&nbsp;</span>  </li><li><span>&nbsp;&nbsp;</span> </li><li class="alt"><span>wb&nbsp;=&nbsp;Workbook()&nbsp;&nbsp;</span> </li><li><span class="comment">#新建一个excelWriter</span> <span>&nbsp;&nbsp;</span>  </li><li class="alt"><span>ew&nbsp;=&nbsp;ExcelWriter(workbook&nbsp;=&nbsp;wb)&nbsp;&nbsp;</span> </li><li><span>&nbsp;&nbsp;</span> </li><li class="alt"><span class="comment">#设置文件输出路径与名称</span> <span>&nbsp;&nbsp;</span>  </li><li><span>dest_filename&nbsp;=&nbsp;r<span class="string">'empty_book.xlsx'</span> <span>&nbsp;&nbsp;</span> </span> </li><li class="alt"><span>&nbsp;&nbsp;</span> </li><li><span class="comment">#第一个sheet是ws</span> <span>&nbsp;&nbsp;</span>  </li><li class="alt"><span>ws&nbsp;=&nbsp;wb.worksheets[<span class="number">0</span> <span>]&nbsp;&nbsp;</span> </span> </li><li><span>&nbsp;&nbsp;</span> </li><li class="alt"><span class="comment">#设置ws的名称</span> <span>&nbsp;&nbsp;</span>  </li><li><span>ws.title&nbsp;=&nbsp;<span class="string">"range&nbsp;names"</span> <span>&nbsp;&nbsp;&nbsp;</span> </span> </li><li class="alt"><span>&nbsp;&nbsp;</span> </li><li><span>&nbsp;&nbsp;</span> </li><li class="alt"><span class="comment">#录入数据，注意col是数字转字母，然后需要限定%s（string型）当参数传到ws.cell()方法中去,records可以想象为一个从数据库里查询出来的数据集合</span> <span>&nbsp;&nbsp;</span>  </li><li><span>i=<span class="number">1</span> <span>&nbsp;&nbsp;</span> </span> </li><li class="alt"><span>table&nbsp;=&nbsp;{}&nbsp;&nbsp;</span> </li><li><span class="keyword">for</span> <span>&nbsp;record&nbsp;</span> <span class="keyword">in</span> <span>&nbsp;records:&nbsp;&nbsp;</span>  </li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">for</span> <span>&nbsp;x&nbsp;</span> <span class="keyword">in</span> <span>&nbsp;range(</span> <span class="number">1</span> <span>,len(record)+</span> <span class="number">1</span> <span>):&nbsp;&nbsp;</span> </span> </li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col&nbsp;=&nbsp;get_column_letter(x)&nbsp;&nbsp;</span> </li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ws.cell(<span class="string">'%s%s'</span> <span>%(col,&nbsp;i)).value&nbsp;=&nbsp;</span> <span class="string">'%s'</span> <span>&nbsp;%&nbsp;(record[x-</span> <span class="number">1</span> <span>])&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> </span> </li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> </li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;i+=<span class="number">1</span> <span>&nbsp;&nbsp;</span> </span> </li><li><span>&nbsp;&nbsp;</span> </li><li class="alt"><span class="comment">#又建了一个sheet，ws名字都没变，太省了。。。但是确实是一个新的sheet，不会影响之前那个sheet的东西</span> <span>&nbsp;&nbsp;</span>  </li><li><span>ws&nbsp;=&nbsp;wb.create_sheet()&nbsp;&nbsp;</span> </li><li class="alt"><span>&nbsp;&nbsp;</span> </li><li><span>ws.title&nbsp;=&nbsp;<span class="string">'Pi'</span> <span>&nbsp;&nbsp;</span> </span> </li><li class="alt"><span>&nbsp;&nbsp;</span> </li><li><span>ws.cell(<span class="string">'F5'</span> <span>).value&nbsp;=&nbsp;</span> <span class="number">3.14</span> <span>&nbsp;&nbsp;</span> </span> </li><li class="alt"><span>&nbsp;&nbsp;</span> </li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span> </li><li class="alt"><span class="comment">#写文件</span> <span>&nbsp;&nbsp;</span>  </li><li><span>ew.save(filename&nbsp;=&nbsp;dest_filename)&nbsp;&nbsp;</span> </li></ol></div><p><div class="dp-highlighter bg_python"><div class="bar"><div class="tools"><strong>[python]</strong> <a title="view plain" class="ViewSource" href="http://blog.csdn.net/suofiya2008/article/details/6284208#"><u><font color="#0066cc">view plain</font></u></a><a title="copy" class="CopyToClipboard" href="http://blog.csdn.net/suofiya2008/article/details/6284208#"><u><font color="#0066cc">copy</font></u></a><a title="print" class="PrintSource" href="http://blog.csdn.net/suofiya2008/article/details/6284208#"><u><font color="#0066cc">print</font></u></a><a title="?" class="About" href="http://blog.csdn.net/suofiya2008/article/details/6284208#"><u><font color="#0066cc">?</font></u></a></div></div><ol class="dp-py"><li class="alt"><span>写excel2007&nbsp;&nbsp;</span></li><li><span class="comment">#-*-&nbsp;coding:utf-8&nbsp;-*</span><span>&nbsp;&nbsp;</span></li><li class="alt"><span class="keyword">import</span><span>&nbsp;MySQLdb&nbsp;&nbsp;</span></li><li><span class="keyword">import</span><span>&nbsp;time&nbsp;&nbsp;</span></li><li class="alt"><span class="keyword">import</span><span>&nbsp;sys&nbsp;&nbsp;</span></li><li><span class="comment">#workbook相关</span><span>&nbsp;&nbsp;</span></li><li class="alt"><span class="keyword">from</span><span>&nbsp;openpyxl.workbook&nbsp;</span><span class="keyword">import</span><span>&nbsp;Workbook&nbsp;&nbsp;</span></li><li><span class="comment">#万恶的ExcelWriter，妹的封装好了不早说，封装了很强大的excel写的功能</span><span>&nbsp;&nbsp;</span></li><li class="alt"><span class="keyword">from</span><span>&nbsp;openpyxl.writer.excel&nbsp;</span><span class="keyword">import</span><span>&nbsp;ExcelWriter&nbsp;&nbsp;</span></li><li><span class="comment">#一个eggache的数字转为列字母的方法</span><span>&nbsp;&nbsp;</span></li><li class="alt"><span class="keyword">from</span><span>&nbsp;openpyxl.cell&nbsp;</span><span class="keyword">import</span><span>&nbsp;get_column_letter&nbsp;&nbsp;</span></li><li><span class="comment">#新建一个workbook</span><span>&nbsp;&nbsp;</span></li><li class="alt"><span>wb&nbsp;=&nbsp;Workbook()&nbsp;&nbsp;</span></li><li><span class="comment">#新建一个excelWriter</span><span>&nbsp;&nbsp;</span></li><li class="alt"><span>ew&nbsp;=&nbsp;ExcelWriter(workbook&nbsp;=&nbsp;wb)&nbsp;&nbsp;</span></li><li><span class="comment">#设置文件输出路径与名称</span><span>&nbsp;&nbsp;</span></li><li class="alt"><span>dest_filename&nbsp;=&nbsp;r<span class="string">'empty_book.xlsx'</span><span>&nbsp;&nbsp;</span></span></li><li><span class="comment">#第一个sheet是ws</span><span>&nbsp;&nbsp;</span></li><li class="alt"><span>ws&nbsp;=&nbsp;wb.worksheets[<span class="number">0</span><span>]&nbsp;&nbsp;</span></span></li><li><span class="comment">#设置ws的名称</span><span>&nbsp;&nbsp;</span></li><li class="alt"><span>ws.title&nbsp;=&nbsp;<span class="string">"range&nbsp;names"</span><span>&nbsp;&nbsp;&nbsp;</span></span></li><li><span class="comment">#录入数据，注意col是数字转字母，然后需要限定%s（string型）当参数传到ws.cell()方法中去,records可以想象为一个从数据库里查询出来的数据集合</span><span>&nbsp;&nbsp;</span></li><li class="alt"><span>i=<span class="number">1</span><span>&nbsp;&nbsp;</span></span></li><li><span>table&nbsp;=&nbsp;{}&nbsp;&nbsp;</span></li><li class="alt"><span class="keyword">for</span><span>&nbsp;record&nbsp;</span><span class="keyword">in</span><span>&nbsp;records:&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">for</span><span>&nbsp;x&nbsp;</span><span class="keyword">in</span><span>&nbsp;range(</span><span class="number">1</span><span>,len(record)+</span><span class="number">1</span><span>):&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;col&nbsp;=&nbsp;get_column_letter(x)&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ws.cell(<span class="string">'%s%s'</span><span>%(col,&nbsp;i)).value&nbsp;=&nbsp;</span><span class="string">'%s'</span><span>&nbsp;%&nbsp;(record[x-</span><span class="number">1</span><span>])&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;i+=<span class="number">1</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span class="comment">#又建了一个sheet，ws名字都没变，太省了。。。但是确实是一个新的sheet，不会影响之前那个sheet的东西</span><span>&nbsp;&nbsp;</span></li><li><span>ws&nbsp;=&nbsp;wb.create_sheet()&nbsp;&nbsp;</span></li><li class="alt"><span>ws.title&nbsp;=&nbsp;<span class="string">'Pi'</span><span>&nbsp;&nbsp;</span></span></li><li><span>ws.cell(<span class="string">'F5'</span><span>).value&nbsp;=&nbsp;</span><span class="number">3.14</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li><span class="comment">#写文件</span><span>&nbsp;&nbsp;</span></li><li class="alt"><span>ew.save(filename&nbsp;=&nbsp;dest_filename)&nbsp;&nbsp;</span></li></ol></div><textarea name="code" class="python" style="display: none;" rows="15" cols="81">写excel2007
#-*- coding:utf-8 -*
import MySQLdb
import time
import sys
#workbook相关
from openpyxl.workbook import Workbook
#万恶的ExcelWriter，妹的封装好了不早说，封装了很强大的excel写的功能
from openpyxl.writer.excel import ExcelWriter
#一个eggache的数字转为列字母的方法
from openpyxl.cell import get_column_letter
#新建一个workbook
wb = Workbook()
#新建一个excelWriter
ew = ExcelWriter(workbook = wb)
#设置文件输出路径与名称
dest_filename = r'empty_book.xlsx'
#第一个sheet是ws
ws = wb.worksheets[0]
#设置ws的名称
ws.title = "range names" 
#录入数据，注意col是数字转字母，然后需要限定%s（string型）当参数传到ws.cell()方法中去,records可以想象为一个从数据库里查询出来的数据集合
i=1
table = {}
for record in records:
    for x in range(1,len(record)+1):
        col = get_column_letter(x)
        ws.cell('%s%s'%(col, i)).value = '%s' % (record[x-1])      
            
    i+=1
#又建了一个sheet，ws名字都没变，太省了。。。但是确实是一个新的sheet，不会影响之前那个sheet的东西
ws = wb.create_sheet()
ws.title = 'Pi'
ws.cell('F5').value = 3.14
    
#写文件
ew.save(filename = dest_filename)
</textarea><p>&nbsp;</p><p>&nbsp;注意的地方：</p><p># col是用列号x为参数，调用了这个模块的<span style="color: rgb(255, 0, 0);">get_column_letter<span style="color: rgb(0, 0, 0);">方法算出来的字母，这个比较蛋疼。</span> </span> </p><p style="margin: 0in; font-family: 微软雅黑; font-size: 10pt;"><span>&nbsp; </span> <span style="color: red;"><span>&nbsp;</span> col = get_column_letter(x) </span> </p><p style="margin: 0in; font-family: 微软雅黑; font-size: 10pt;">&nbsp;</p><p style="margin: 0in; font-family: 微软雅黑; font-size: 10pt;"><span style="color: rgb(0, 0, 0);">#在为数据格赋值的时候，注意写的格式：要不会有各种不靠谱的问题出现（这个是用坐标的方式写的，其实用row ，col的方式可能没那么麻烦）</span> </p><p style="margin: 0in; font-family: 微软雅黑;"><span style="font-size: 10pt;"><span>&nbsp;</span> </span> <span style="color: rgb(51, 102, 255); font-size: 10pt;"><span>&nbsp;</span> </span> <span style="color: rgb(51, 102, 255); font-size: 18pt;">ws.cell(</span> <span style="color: red; font-size: 18pt;">'%s%s'%(col, i)</span> <span style="color: rgb(51, 102, 255); font-size: 18pt;">).value = </span> <span style="color: red; font-size: 18pt;">'%s' % (record[x-1])</span> <span style="color: rgb(51, 102, 255); font-size: 18pt;"></span> </p><p>关于该模块的API&nbsp; 可以查询官方文档&nbsp;<span lang="en-US" style="font-family: Calibri;"><span>&nbsp;</span> </span> <a href="http://packages.python.org/openpyxl/api.html"><span lang="zh-CN" style="font-family: 微软雅黑;">http://packages.python.org/openpyxl/api.html</span> </a> </p><p>总体来说，这个模块还是挺方便的，但是问题就是在对于python的版本有一定要求，如果在centOs上用，可能会有些问题。</p><p>本文只是简单的写了下使用的方法，之后格式超链接神马的之后再填上~</p><img src ="http://www.blogjava.net/pts/aggbug/420389.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pts/" target="_blank">pts</a> 2014-11-21 09:34 <a href="http://www.blogjava.net/pts/archive/2014/11/21/420389.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>EXCEL函数能自动取当前sheet的名字</title><link>http://www.blogjava.net/pts/archive/2014/11/10/419857.html</link><dc:creator>pts</dc:creator><author>pts</author><pubDate>Mon, 10 Nov 2014 02:37:00 GMT</pubDate><guid>http://www.blogjava.net/pts/archive/2014/11/10/419857.html</guid><wfw:comment>http://www.blogjava.net/pts/comments/419857.html</wfw:comment><comments>http://www.blogjava.net/pts/archive/2014/11/10/419857.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pts/comments/commentRss/419857.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pts/services/trackbacks/419857.html</trackback:ping><description><![CDATA[<span style="color: #111111; font-family: Tahoma, Helvetica, 'Microsoft Yahei', SimSun, sans-serif, Hei; background-color: #f3f9f6;">一、=REPLACE(CELL("filename"),1,FIND("]",CELL("filename")),"")</span><br style="word-wrap: normal; color: #111111; font-family: Tahoma, Helvetica, 'Microsoft Yahei', SimSun, sans-serif, Hei; background-color: #f3f9f6;" /><span style="color: #111111; font-family: Tahoma, Helvetica, 'Microsoft Yahei', SimSun, sans-serif, Hei; background-color: #f3f9f6;">二、=MID(CELL("filename"),FIND("]",CELL("filename"))+1,255)</span><img src ="http://www.blogjava.net/pts/aggbug/419857.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pts/" target="_blank">pts</a> 2014-11-10 10:37 <a href="http://www.blogjava.net/pts/archive/2014/11/10/419857.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> [转]Python GUI开发环境的搭建</title><link>http://www.blogjava.net/pts/archive/2014/07/30/416370.html</link><dc:creator>pts</dc:creator><author>pts</author><pubDate>Wed, 30 Jul 2014 08:38:00 GMT</pubDate><guid>http://www.blogjava.net/pts/archive/2014/07/30/416370.html</guid><wfw:comment>http://www.blogjava.net/pts/comments/416370.html</wfw:comment><comments>http://www.blogjava.net/pts/archive/2014/07/30/416370.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pts/comments/commentRss/416370.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pts/services/trackbacks/416370.html</trackback:ping><description><![CDATA[<p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">From：<span style="font-family: verdana, 'courier new'; line-height: 21px;">http://blog.csdn.net/zhangxinrun/article/category/1134723</span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">转载：http://www.cnblogs.com/sding/archive/2011/11/12/2246675.html</p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><br /></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">最近对Python的开发又来了兴趣，对于Python的开发一直停留在一个表面层的认识，玩的部分比较大。</p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">Python的入手简单，语法让人爱不释手，在网络通信方面自带有成熟的类库，还有第三方开发的开源包。</p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">在GUI的开发上，Python自身带有TKinter库，还有第三方的库 (比如wxPython, Qt)</p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">&nbsp;</p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">今天就来简单介绍下wxPython开发的环境搭建与示例</p><hr style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;" /><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">&nbsp;</p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">开发环境搭建采用<em>wxFormBuilder + uiPad + wxPython，</em>按照顺序进行安装</p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">Python 2.6 下载地址：<span style="color: #3366ff;"><a href="http://www.python.org/download/releases/2.6.7/" style="color: #336699; text-decoration: none;"><span style="color: #3366ff;">http://www.python.org/download/releases/2.6.7/</span></a></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">wxPython 2.8&nbsp;下载地址：<span style="color: #3366ff;"><a href="http://www.wxpython.org/download.php#stable" style="color: #336699; text-decoration: none;"><span style="color: #3366ff;">http://www.wxpython.org/download.php#stable</span></a></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">wxFormBuilder 3.2 beta 下载地址：<span style="color: #3366ff;"><a href="http://sourceforge.net/projects/wxformbuilder/" style="color: #336699; text-decoration: none;"><span style="color: #3366ff;">http://sourceforge.net/projects/wxformbuilder/</span></a></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">uiPad 4.0 下载地址：<span style="color: #3366ff;"><a href="http://www.onlinedown.net/soft/101104.htm" style="color: #336699; text-decoration: none;"><span style="color: #3366ff;">http://www.onlinedown.net/soft/101104.htm</span></a></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><span style="color: #3366ff;"><br /></span></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><em><strong><span style="font-size: 16px; color: #000000;">Python GUI程式的开发步骤</span></strong></em></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">&nbsp;</p><hr style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;" /><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong><span style="font-size: 16px;">1 &nbsp;wxFormBuilder 的界面设计过程</span></strong></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">这里不再详述，可以BAIDU下wxPython的界面设计方法</p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><img alt="" src="http://pic002.cnblogs.com/images/2011/163390/2011111219044855.jpg" style="border: none; max-width: 100%;" /></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">&nbsp;</p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong><span style="font-size: 16px;">2 界面设计完成后，接下来对界面上的BUTTON事件进行响应</span></strong></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">如下图所示，产生响应事件代码</p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><img alt="" src="http://pic002.cnblogs.com/images/2011/163390/2011111219113119.png" style="border: none; max-width: 100%;" /></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">&nbsp;</p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><img alt="" src="http://pic002.cnblogs.com/images/2011/163390/2011111219123494.png" style="border: none; max-width: 100%;" /></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">&nbsp;</p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong><span style="font-size: 16px;">3 事件映射结束后，复制Python 代码到py文件</span></strong></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><img alt="" src="http://pic002.cnblogs.com/images/2011/163390/2011111219143590.png" style="border: none; max-width: 100%;" /></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">&nbsp;</p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong><span style="font-size: 16px;">4 用UliPad编辑Py文件</span></strong></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">在py文件末加入app的初始化代码,并在相应的事件中，加入响应代码即可。</p><div style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><div><a title="复制代码" style="color: #336699;"><img alt="复制代码" src="http://common.cnblogs.com/images/copycode.gif" style="border: none; max-width: 100%;" /></a></div><pre style="white-space: pre-wrap; word-wrap: break-word;"><span style="color: #008080;">1</span> <span style="color: #0000ff;">class</span> App(wx.App): <span style="color: #008080;">2</span>     <span style="color: #0000ff;">def</span> OnInit(self): <span style="color: #008080;">3</span>         frame = MyFrame1(None)   ##这里为我们生成GUI的Frame类名 <span style="color: #008080;">4</span>         frame.Show() <span style="color: #008080;">5</span>         <span style="color: #0000ff;">return</span> True <span style="color: #008080;">6</span>  <span style="color: #008080;">7</span> app = App() <span style="color: #008080;">8</span>      <span style="color: #008080;">9</span> app.MainLoop()</pre><div><a title="复制代码" style="color: #336699;"><img alt="复制代码" src="http://common.cnblogs.com/images/copycode.gif" style="border: none; max-width: 100%;" /></a></div></div><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong><span style="font-size: 16px;"><br /></span></strong></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><strong><span style="font-size: 16px;">5 运行py文件</span></strong></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">第一个wxPython的界面程序到这里就完成，有兴趣可以再进行深入研究。</p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;"><img alt="" src="http://pic002.cnblogs.com/images/2011/163390/2011111219252026.png" style="border: none; max-width: 100%;" /></p><p style="color: #333333; font-family: Arial; line-height: 26px; background-color: #ffffff;">&nbsp;</p><img src ="http://www.blogjava.net/pts/aggbug/416370.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pts/" target="_blank">pts</a> 2014-07-30 16:38 <a href="http://www.blogjava.net/pts/archive/2014/07/30/416370.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>win32 api :  About Messages and Message Queues</title><link>http://www.blogjava.net/pts/archive/2013/07/26/401985.html</link><dc:creator>pts</dc:creator><author>pts</author><pubDate>Fri, 26 Jul 2013 01:56:00 GMT</pubDate><guid>http://www.blogjava.net/pts/archive/2013/07/26/401985.html</guid><wfw:comment>http://www.blogjava.net/pts/comments/401985.html</wfw:comment><comments>http://www.blogjava.net/pts/archive/2013/07/26/401985.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pts/comments/commentRss/401985.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pts/services/trackbacks/401985.html</trackback:ping><description><![CDATA[<p><a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms644927(v=vs.85).aspx#system_defined">http://msdn.microsoft.com/en-us/library/windows/desktop/ms644927(v=vs.85).aspx#system_defined</a></p><p>有关win32 api 大全<br />有关消息的解释，还有一篇文章解释的非常详细：<a href="http://blog.csdn.net/mengde666/article/details/4036398" style="font-size: 14px;">http://blog.csdn.net/mengde666/article/details/4036398</a></p><img src ="http://www.blogjava.net/pts/aggbug/401985.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pts/" target="_blank">pts</a> 2013-07-26 09:56 <a href="http://www.blogjava.net/pts/archive/2013/07/26/401985.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]python win32api 使用小技巧</title><link>http://www.blogjava.net/pts/archive/2013/07/25/401973.html</link><dc:creator>pts</dc:creator><author>pts</author><pubDate>Thu, 25 Jul 2013 08:40:00 GMT</pubDate><guid>http://www.blogjava.net/pts/archive/2013/07/25/401973.html</guid><wfw:comment>http://www.blogjava.net/pts/comments/401973.html</wfw:comment><comments>http://www.blogjava.net/pts/archive/2013/07/25/401973.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pts/comments/commentRss/401973.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pts/services/trackbacks/401973.html</trackback:ping><description><![CDATA[<p style="margin: 10px auto; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 16.66666603088379px; background-color: #ffffff;">From：<a style="font-family: Helvetica, Arial, sans-serif;" href="http://www.cnblogs.com/txw1958/archive/2012/02/16/2353491.html">http://www.cnblogs.com/txw1958/archive/2012/02/16/2353491.html</a></p><p style="margin: 10px auto; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 16.66666603088379px; background-color: #ffffff;">前些日子，由于需要，用python写了个小插件，通过win32api 访问外部程序的窗口 并且做些小操作。</p><p style="margin: 10px auto; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 16.66666603088379px; background-color: #ffffff;">因为原来对win32api 不怎么熟悉 所以只好求救。群里有个QQ：32034767 唐骁勇<a style="margin: 0px; padding: 0px; text-decoration: none; color: #000000; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #333333;" href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#116;&#115;&#121;&#95;&#48;&#48;&#55;&#64;&#49;&#54;&#51;&#46;&#99;&#111;&#109;">tsy_007@163.com</a></p><p style="margin: 10px auto; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 16.66666603088379px; background-color: #ffffff;">这小伙子不错 心热人善</p><p style="margin: 10px auto; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 16.66666603088379px; background-color: #ffffff;">动手之前要选对好工具。（既然是基于WIN32api 当然要用微软的专用的spyxx.exe，上手相当简单。比较专业 ，能查出当前桌面上所有的窗口句柄和类型。VC的那个绿色版的 spy++效果不强（Au3Info.exe也一样），无法追踪多级子窗口。 下面是简易代码：（实际上就是用钩子原理 网络上也可以找到）</p><p style="margin: 10px auto; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 16.66666603088379px; background-color: #ffffff;">import win32ui,win32con,pyHook,pythoncom，win32gui ,wx<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; def hookhandle(event):<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if event.KeyID==9:#tab键值<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try:<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pwin=win32gui.FindWindow('AfxMDIFrame70',None)#主窗口 AfxMDIFrame70就是你用#spyxx.exe查找到的窗口类名<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pwin1=win32gui.FindWindowEx(pwin,None,'MDIClient',None)<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pwin2=win32gui.FindWindowEx(pwin1,None,'AfxFrameOrView70',None)<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pwin3=win32gui.FindWindowEx(pwin2,None,"AfxOleControl70",None)<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pwin4=win32gui.FindWindowEx(pwin3,None,None,"PatientCardControl Frame")#可以根据窗口#的标题名称查找 标题名称一般外接程序是不变的 而类名有时是变化的 比如机器重启 关闭等&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pwin5=win32gui.FindWindowEx(pwin4,None,"AfxMDIFrame70",None)<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pwin6=win32gui.FindWindowEx(pwin5,None,"AfxWnd70",None)<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pwin7=win32gui.FindWindowEx(pwin6,None,"#32770",None)</p><p style="margin: 10px auto; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 16.66666603088379px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; textbox=pwin7.GetDlgItem(222)#获取控件的ID<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; textbox2=pwin7.GetDlgItem(224)</p><p style="margin: 10px auto; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 16.66666603088379px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; buf='0x0'*1024&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; buf2='0x0'*1024<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; textbox.SendMessage(win32con.WM_SETTEXT,"")#先清空控件内容<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; textbox2.SendMessage(win32con.WM_SETTEXT,"")</p><p style="margin: 10px auto; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 16.66666603088379px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oldlen=textbox.SendMessage(win32con.WM_GETTEXT,buf)<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; oldlen2=textbox2.SendMessage(win32con.WM_GETTEXT,buf2)</p><p style="margin: 10px auto; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 16.66666603088379px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; textbox.SendMessage(win32con.WM_SETTEXT,buf[0:oldlen]+str(blh))#发送消息 注意不能##用%s 替换 所以一般需要全局变量 来替换<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; textbox2.SendMessage(win32con.WM_SETTEXT,buf2[0:oldlen]+str(name))<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; except:<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wx.LogMessage('没有发现可用的窗口！请确保程序已经运行')</p><p style="margin: 10px auto; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 16.66666603088379px; background-color: #ffffff;">&nbsp;</p><p style="margin: 10px auto; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 16.66666603088379px; background-color: #ffffff;">&nbsp;</p><p style="margin: 10px auto; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 16.66666603088379px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hm = pyHook.HookManager()#初始实例<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hm.KeyDown=hookhandle<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hm.HookKeyboard()<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pythoncom.PumpMessages(5000)#据说是winctype的新功能 延迟吧 具体什么也不清楚&nbsp;<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hm.UnhookKeyboard()#释放键盘捕捉 好像效果不明显<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #for i in range (0,40):<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #win32api.Sleep(20)<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #if win32ui.PumpWaitingMessages(0,-1):<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; win32api.PostQuitMessage(0)# 退出监控消息 很关键 必须配合sys.setrecursionlimit(4000)使用效果##才明显 不然的话 程序无法退出。<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #raise exceptions.SystemExit</p><p style="margin: 10px auto; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 16.66666603088379px; background-color: #ffffff;">&nbsp;</p><p style="margin: 10px auto; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 16.66666603088379px; background-color: #ffffff;">&nbsp;</p><p style="margin: 10px auto; padding: 0px; color: #333333; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 16.66666603088379px; background-color: #ffffff;">&nbsp;&nbsp;&nbsp; def OnClose(self, event):<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sys.setrecursionlimit(4000)#相当关键<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.Close(True)<br style="margin: 0px; padding: 0px;" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.Destroy()</p><img src ="http://www.blogjava.net/pts/aggbug/401973.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pts/" target="_blank">pts</a> 2013-07-25 16:40 <a href="http://www.blogjava.net/pts/archive/2013/07/25/401973.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>问题：PAMIE TypeError: getElementsByTagName() takes exactly 1 positional argument (2 given)</title><link>http://www.blogjava.net/pts/archive/2013/07/08/401323.html</link><dc:creator>pts</dc:creator><author>pts</author><pubDate>Mon, 08 Jul 2013 08:21:00 GMT</pubDate><guid>http://www.blogjava.net/pts/archive/2013/07/08/401323.html</guid><wfw:comment>http://www.blogjava.net/pts/comments/401323.html</wfw:comment><comments>http://www.blogjava.net/pts/archive/2013/07/08/401323.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/pts/comments/commentRss/401323.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pts/services/trackbacks/401323.html</trackback:ping><description><![CDATA[<p><div class="article_title" style="margin: 5px 0px; font-size: 20px; line-height: 30px; font-family: 'Microsoft YaHei'; background-color: #ffffff;">&nbsp;<h3 style="margin: 0px; padding: 0px; display: inline; font-weight: normal; font-size: 20px; vertical-align: middle;"><span class="link_title"><a style="color: #000000; text-decoration: none;" href="http://blog.csdn.net/dingyingguidyg/article/details/8835571">PAMIE TypeError: getElementsByTagName() takes exactly 1 positional argument (2 given)</a></span></h3></div><div class="article_manage" style="padding: 5px 0px; color: #999999; font-size: 12px; line-height: 24px; font-family: Arial; text-align: right; background-color: #ffffff;"><span class="link_categories" style="margin: 0px 5px; float: left;">分类：&nbsp;<a style="color: #336699; text-decoration: none;" href="http://blog.csdn.net/dingyingguidyg/article/category/755162">其他</a>&nbsp;<a style="color: #336699; text-decoration: none;" href="http://blog.csdn.net/dingyingguidyg/article/category/1400843">python</a></span><span class="link_postdate" style="margin: 0px 5px 0px 0px;">2013-04-22 17:25</span>&nbsp;<span class="link_view" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background-image: url(http://static.blog.csdn.net/images/ico_view.png); background-position: 0% 50%; background-repeat: no-repeat no-repeat;" title="阅读次数">105人阅读</span>&nbsp;<span class="link_comments" style="margin: 0px 5px; padding: 0px 0px 0px 14px; background-image: url(http://static.blog.csdn.net/images/ico_comm.png); background-position: 0% 50%; background-repeat: no-repeat no-repeat;" title="评论次数"><a style="color: #336699; text-decoration: none;" href="http://blog.csdn.net/dingyingguidyg/article/details/8835571#comments">评论</a>(0)</span>&nbsp;<span class="link_collect" style="margin: 0px 5px;"><a style="color: #336699; text-decoration: none;" title="收藏">收藏</a></span>&nbsp;<span class="link_report" style="margin: 0px 5px;"><a style="color: #336699; text-decoration: none;" title="举报" href="http://blog.csdn.net/dingyingguidyg/article/details/8835571#report">举报</a></span></div><div id="article_content" class="article_content" style="margin: 20px 0px 0px; line-height: 26px; font-family: Arial; color: #333333; background-color: #ffffff;"><p>问题：PAMIE TypeError: getElementsByTagName() takes exactly 1 positional argument (2 given)</p><p>解决办法：IE &nbsp; &nbsp; 工具-》兼容性视图设置-》在兼容性视图中访问所有网站</p></div></p><img src ="http://www.blogjava.net/pts/aggbug/401323.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pts/" target="_blank">pts</a> 2013-07-08 16:21 <a href="http://www.blogjava.net/pts/archive/2013/07/08/401323.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转】去掉 Sqlite3 数据库中的前后回车换行符(newline)</title><link>http://www.blogjava.net/pts/archive/2013/06/10/400470.html</link><dc:creator>pts</dc:creator><author>pts</author><pubDate>Mon, 10 Jun 2013 12:30:00 GMT</pubDate><guid>http://www.blogjava.net/pts/archive/2013/06/10/400470.html</guid><wfw:comment>http://www.blogjava.net/pts/comments/400470.html</wfw:comment><comments>http://www.blogjava.net/pts/archive/2013/06/10/400470.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pts/comments/commentRss/400470.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pts/services/trackbacks/400470.html</trackback:ping><description><![CDATA[<p><p style="border: 0px; font-size: 12.800000190734863px; margin: 0px 0px 9px; outline: 0px; padding: 0px; font-family: 'Helvetica Neue', Arial, 'Lucida Grande', 'Lucida Sans Unicode', 'Microsoft YaHei', sans-serif; line-height: 20px; background-color: #ffffff;">最近使用 rails 做了一个小小的小网站, 数据库用的是 sqlite3, 数据库数据是从一个 xml 文件中导入的, 有很多前导回车和末尾空行, 而页面显示的时候会自动把回车替换成 , 结果就是显示出来的内容无端端的多了很多空白, 整个页面看起来很不<span style="border: 0px; font-size: 12.800000190734863px; margin: 0px; outline: 0px; padding: 0px; text-decoration: line-through;">河蟹</span>协调. 今天闲下来了决定把这些无用的回车换行符去掉.</p><p style="border: 0px; font-size: 12.800000190734863px; margin: 0px 0px 9px; outline: 0px; padding: 0px; font-family: 'Helvetica Neue', Arial, 'Lucida Grande', 'Lucida Sans Unicode', 'Microsoft YaHei', sans-serif; line-height: 20px; background-color: #ffffff;">不就是一个 trim 嘛, 很快进入 sqlite 命令行界面, 输入:</p><blockquote style="border-width: 0px 0px 0px 2px; border-left-style: solid; border-left-color: #eaeaea; font-size: 12.800000190734863px; margin: 0px 0px 9px; outline: 0px; padding: 7px; quotes: none; background-color: #f8f8f8; color: #111111; font-family: 'Helvetica Neue', Arial, 'Lucida Grande', 'Lucida Sans Unicode', 'Microsoft YaHei', sans-serif; line-height: 20px;">sqlite&gt; update jokes set content=trim(content,&rsquo;\n&rsquo;);</blockquote><p style="border: 0px; font-size: 12.800000190734863px; margin: 0px 0px 9px; outline: 0px; padding: 0px; font-family: 'Helvetica Neue', Arial, 'Lucida Grande', 'Lucida Sans Unicode', 'Microsoft YaHei', sans-serif; line-height: 20px; background-color: #ffffff;">搞定, 收工&hellip;????? 刷新页面一看, 我了个去, 不行耶~~, sqlite 不认 \n, 换成 trim(content, &lsquo;\r&rsquo;), trim(content, &lsquo;\r\n&rsquo;) 和 trim(content, &lsquo;\n\r&rsquo;) 都不行, 哥是个懒人, 不想写代码解决, 于是 google 了下, 发现有人提供这个解决方法:</p><blockquote style="border-width: 0px 0px 0px 2px; border-left-style: solid; border-left-color: #eaeaea; font-size: 12.800000190734863px; margin: 0px 0px 9px; outline: 0px; padding: 7px; quotes: none; background-color: #f8f8f8; color: #111111; font-family: 'Helvetica Neue', Arial, 'Lucida Grande', 'Lucida Sans Unicode', 'Microsoft YaHei', sans-serif; line-height: 20px;">x&rsquo;hh&rsquo; should work, where hh are hex digits.&nbsp; So if your file contained hex 0D type line breaks: UPDATE t SET essay_without_newlines = Replace(essay, x&rsquo;0D&rsquo;, &lsquo;~&rsquo;);</blockquote><p style="border: 0px; font-size: 12.800000190734863px; margin: 0px 0px 9px; outline: 0px; padding: 0px; font-family: 'Helvetica Neue', Arial, 'Lucida Grande', 'Lucida Sans Unicode', 'Microsoft YaHei', sans-serif; line-height: 20px; background-color: #ffffff;">也就是说 sqlite 中可以使用 x&rsquo;hh&rsquo; 这种语法来表示一个字符. 试了下 x&rsquo;0D&rsquo;, 不行&hellip;..再试试 x&rsquo;0A&rsquo;, 就好了:</p><blockquote style="border-width: 0px 0px 0px 2px; border-left-style: solid; border-left-color: #eaeaea; font-size: 12.800000190734863px; margin: 0px 0px 9px; outline: 0px; padding: 7px; quotes: none; background-color: #f8f8f8; color: #111111; font-family: 'Helvetica Neue', Arial, 'Lucida Grande', 'Lucida Sans Unicode', 'Microsoft YaHei', sans-serif; line-height: 20px;">sqlite&gt; update jokes set content=trim(content, x&rsquo;0A&rsquo;);</blockquote><p style="border: 0px; font-size: 12.800000190734863px; margin: 0px 0px 9px; outline: 0px; padding: 0px; font-family: 'Helvetica Neue', Arial, 'Lucida Grande', 'Lucida Sans Unicode', 'Microsoft YaHei', sans-serif; line-height: 20px; background-color: #ffffff;">流水账一笔, 没啥技术含量. 纯粹是做个备忘, 也希望对别人有所帮助.</p><p style="border: 0px; font-size: 12.800000190734863px; margin: 0px 0px 9px; outline: 0px; padding: 0px; font-family: 'Helvetica Neue', Arial, 'Lucida Grande', 'Lucida Sans Unicode', 'Microsoft YaHei', sans-serif; line-height: 20px; background-color: #ffffff;"><a href="http://liang.eu/web-dev/trim-newlines-in-sqlite3">http://liang.eu/web-dev/trim-newlines-in-sqlite3</a></p></p><img src ="http://www.blogjava.net/pts/aggbug/400470.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pts/" target="_blank">pts</a> 2013-06-10 20:30 <a href="http://www.blogjava.net/pts/archive/2013/06/10/400470.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]SQLite SQL语法详解 </title><link>http://www.blogjava.net/pts/archive/2013/06/09/400446.html</link><dc:creator>pts</dc:creator><author>pts</author><pubDate>Sun, 09 Jun 2013 09:05:00 GMT</pubDate><guid>http://www.blogjava.net/pts/archive/2013/06/09/400446.html</guid><wfw:comment>http://www.blogjava.net/pts/comments/400446.html</wfw:comment><comments>http://www.blogjava.net/pts/archive/2013/06/09/400446.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pts/comments/commentRss/400446.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pts/services/trackbacks/400446.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: From：http://blog.chinaunix.net/uid-24439730-id-1745159.htmlSELECTsql-statement&nbsp;::=SELECT&nbsp;[ALL&nbsp;|&nbsp;DISTINCT]&nbsp;result&nbsp;[FROM&nbsp;table-list][WHERE&nbsp;expr][GROUP BY&nbsp;exp...&nbsp;&nbsp;<a href='http://www.blogjava.net/pts/archive/2013/06/09/400446.html'>阅读全文</a><img src ="http://www.blogjava.net/pts/aggbug/400446.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pts/" target="_blank">pts</a> 2013-06-09 17:05 <a href="http://www.blogjava.net/pts/archive/2013/06/09/400446.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]在Sqlite中通过Replace来实现插入和更新</title><link>http://www.blogjava.net/pts/archive/2013/06/09/400440.html</link><dc:creator>pts</dc:creator><author>pts</author><pubDate>Sun, 09 Jun 2013 07:40:00 GMT</pubDate><guid>http://www.blogjava.net/pts/archive/2013/06/09/400440.html</guid><wfw:comment>http://www.blogjava.net/pts/comments/400440.html</wfw:comment><comments>http://www.blogjava.net/pts/archive/2013/06/09/400440.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pts/comments/commentRss/400440.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pts/services/trackbacks/400440.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: From：http://www.cnblogs.com/liping13599168/archive/2011/05/24/2054908.html&nbsp;你可能在批量处理一个事务的时候，想要批量插入一系列的数据，但是这些数据当添加完一次之后，重新添加的时候，你不想要重新添加，只是想将原有的数据进行更新，例如：我想要通过Excel将一系列的图书导入到数据库中，而这些图书在你下一次编辑之后，重新...&nbsp;&nbsp;<a href='http://www.blogjava.net/pts/archive/2013/06/09/400440.html'>阅读全文</a><img src ="http://www.blogjava.net/pts/aggbug/400440.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pts/" target="_blank">pts</a> 2013-06-09 15:40 <a href="http://www.blogjava.net/pts/archive/2013/06/09/400440.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转】python与sqlite中文数据的问题</title><link>http://www.blogjava.net/pts/archive/2013/06/08/400394.html</link><dc:creator>pts</dc:creator><author>pts</author><pubDate>Sat, 08 Jun 2013 06:04:00 GMT</pubDate><guid>http://www.blogjava.net/pts/archive/2013/06/08/400394.html</guid><wfw:comment>http://www.blogjava.net/pts/comments/400394.html</wfw:comment><comments>http://www.blogjava.net/pts/archive/2013/06/08/400394.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pts/comments/commentRss/400394.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pts/services/trackbacks/400394.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<div class="content-head clearfix" style="zoom: 1; color: #454545; font-family: tahoma, helvetica, arial; font-size: 12px;">
<h2 class="title content-title" style="margin: 0px 0px 10px; padding: 0px; font-size: 20px; font-family: tahoma, helvetica, 'microsoft yahei', arial; color: #3a3a3a; font-weight: normal; float: left;">
<p style="margin: 0px; color: #454545; font-family: tahoma, helvetica, arial; font-size: 14px; padding: 0px;"></p>
</h2>
<h2><a href="http://hi.baidu.com/mxp446533129/item/db9d4b1ac8123b04e65c36ac" target="_blank">【转】python与sqlite中文数据的问题</a></h2>
<br />
sqlite默认编码是utf-8,在我们的PYTHON文件中设置文件保存编码及输出默认编码都为utf-8
<p>&nbsp;</p>
<p style="margin: 0px; color: #454545; font-family: tahoma, helvetica, arial; font-size: 14px; padding: 0px;">在python安装目录lib/site-packages,下新建 sitecustomize.py<br />
输入<br />
import sys<br />
sys.setdefaultencoding('utf-8') #set default encoding to utf-8</p>
<p style="margin: 0px; color: #454545; font-family: tahoma, helvetica, arial; font-size: 14px; padding: 0px;">python运行时自动设置编码为utf-8</p>
<p style="margin: 0px; color: #454545; font-family: tahoma, helvetica, arial; font-size: 14px; padding: 0px;">往sqlite中插入数据然后直接print的时候，需要将数据编码转换为其他编码，比如gbk</p>
<p style="margin: 0px; color: #454545; font-family: tahoma, helvetica, arial; font-size: 14px; padding: 0px;">使用方法:</p>
<p style="margin: 0px; color: #454545; font-family: tahoma, helvetica, arial; font-size: 14px; padding: 0px;">&nbsp;&nbsp;&nbsp;&nbsp; def Utf82Gb(self,str):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return&nbsp;&nbsp;&nbsp; str.decode('UTF-8').encode('gbk')</p>
<p style="margin: 0px; color: #454545; font-family: tahoma, helvetica, arial; font-size: 14px; padding: 0px;">&nbsp;</p>
<p style="margin: 0px; color: #454545; font-family: tahoma, helvetica, arial; font-size: 14px; padding: 0px;">就可以轻松解决往sqlite中插入中文数据正确显示的问题~</p>
<br /><span style="font-size: 24pt;">重大提醒：</span><br />
<pre><span style="font-size: 14pt;"># Never do this -- insecure! </span><br /><span style="font-size: 14pt;">symbol = 'RHAT' </span><br /><span style="font-size: 14pt;">c.execute("SELECT * FROM stocks WHERE symbol = '%s'" % symbol) </span><br /><span style="font-size: 14pt;">
# Do this instead </span><br /><span style="font-size: 14pt;">t = ('RHAT',) </span><br /><span style="font-size: 14pt;">c.execute('SELECT * FROM stocks WHERE symbol=?', t) </span></pre>
<pre><span style="font-size: 18pt; color: red;"><strong>同时如果涉及到中文，就是仅有一个字段，也要使用tuple形式</strong></span><br />
</pre>
<br />
</div><img src ="http://www.blogjava.net/pts/aggbug/400394.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pts/" target="_blank">pts</a> 2013-06-08 14:04 <a href="http://www.blogjava.net/pts/archive/2013/06/08/400394.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>python操作sqlite3 碰到中文问题</title><link>http://www.blogjava.net/pts/archive/2013/06/07/400367.html</link><dc:creator>pts</dc:creator><author>pts</author><pubDate>Fri, 07 Jun 2013 11:01:00 GMT</pubDate><guid>http://www.blogjava.net/pts/archive/2013/06/07/400367.html</guid><wfw:comment>http://www.blogjava.net/pts/comments/400367.html</wfw:comment><comments>http://www.blogjava.net/pts/archive/2013/06/07/400367.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pts/comments/commentRss/400367.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pts/services/trackbacks/400367.html</trackback:ping><description><![CDATA[<p><span style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;">错问症状：</span></p>
<p><span style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif;"><span style="line-height: 24px;">OperationalError: Could not decode to UTF-8 column 'shouji_lanshouyuan' with text '国际2部 邬长春'</span></span></p>
<p>解决方案：</p>
<p><span style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;">conn&nbsp;=&nbsp;sqlite3.connection("&nbsp;...&nbsp;")</span><br style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;" />
<strong><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5; color: #ff0000;">conn.text_factory&nbsp;=&nbsp;str</span></strong><br style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;" />
</p>
<p>解决问题方案来源：<a href="http://bbs.csdn.net/topics/250055755">http://bbs.csdn.net/topics/250055755</a></p>
<p><span style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;">设置python使用什么类型来处理sqlite3的text类型，默认是unicode，所以才会产生</span><br style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;" />
<span style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;">OperationalError:&nbsp;Could&nbsp;not&nbsp;decode&nbsp;to&nbsp;UTF-8&nbsp;column&nbsp;'name'&nbsp;with&nbsp;text&nbsp;'国内其他'&nbsp;</span><br style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;" />
<span style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;">这个错误</span><br style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;" />
<br style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;" />
<span style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;">因为从数据库中取出数据时，是gbk编码（因为你上次存进去的是gbk）</span><br style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;" />
<span style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;">conn.text_factory的默认值是unicode，python会尝试将text类型的字段转换成unicode，就产生了错误</span></p>
<p>&nbsp;</p>
<p><span style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5; font-size: xx-large;">附：sqlite3的row操作：</span></p>
<p><span style="color: #333333; font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px; background-color: #f5f5f5;"></span></p>
<p style="margin: 10px auto; padding: 0px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff;">Row对象的详细介绍<br style="margin: 0px; padding: 0px;" />
</p>
<dl style="margin: 0px; padding: 0px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff;"><dt id="sqlite3.Row" style="margin: 0px; padding: 0px;"><em style="margin: 0px; padding: 0px; font-family: 'Comic Sans MS';">class&nbsp;</em><tt style="margin: 0px; padding: 0px;">sqlite3.</tt><tt style="margin: 0px; padding: 0px;">Row</tt></dt><dd style="margin: 0px; padding: 0px;">
<p style="margin: 10px auto; padding: 0px;"><span style="margin: 0px; padding: 0px; font-family: 'Comic Sans MS';">A&nbsp;</span><a style="margin: 0px; padding: 0px; text-decoration: none; color: #000000; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #333333;" title="sqlite3.Row" href="http://docs.python.org/library/sqlite3.html#sqlite3.Row"><tt style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px; font-family: 'Comic Sans MS';">Row</span></tt></a><span style="margin: 0px; padding: 0px; font-family: 'Comic Sans MS';">&nbsp;instance serves as a highly optimized&nbsp;</span><a style="margin: 0px; padding: 0px; text-decoration: none; color: #000000; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #333333;" title="sqlite3.Connection.row_factory" href="http://docs.python.org/library/sqlite3.html#sqlite3.Connection.row_factory"><tt style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px; font-family: 'Comic Sans MS';">row_factory</span></tt></a><span style="margin: 0px; padding: 0px; font-family: 'Comic Sans MS';">&nbsp;for&nbsp;</span><a style="margin: 0px; padding: 0px; text-decoration: none; color: #000000; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #333333;" title="sqlite3.Connection" href="http://docs.python.org/library/sqlite3.html#sqlite3.Connection"><tt style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px; font-family: 'Comic Sans MS';">Connection</span></tt></a><span style="margin: 0px; padding: 0px; font-family: 'Comic Sans MS';">&nbsp;objects. It tries to mimic a tuple in most of its features.</span></p>
<p style="margin: 10px auto; padding: 0px;"><span style="margin: 0px; padding: 0px; font-family: 'Comic Sans MS';">It supports mapping access by column name and index, iteration, representation, equality testing and&nbsp;</span><a style="margin: 0px; padding: 0px; text-decoration: none; color: #000000; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #333333;" title="len" href="http://docs.python.org/library/functions.html#len"><tt style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px; font-family: 'Comic Sans MS';">len()</span></tt></a><span style="margin: 0px; padding: 0px; font-family: 'Comic Sans MS';">.</span></p>
<p style="margin: 10px auto; padding: 0px;"><span style="margin: 0px; padding: 0px; font-family: 'Comic Sans MS';">If two&nbsp;</span><a style="margin: 0px; padding: 0px; text-decoration: none; color: #000000; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #333333;" title="sqlite3.Row" href="http://docs.python.org/library/sqlite3.html#sqlite3.Row"><tt style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px; font-family: 'Comic Sans MS';">Row</span></tt></a><span style="margin: 0px; padding: 0px; font-family: 'Comic Sans MS';">&nbsp;objects have exactly the same columns and their members are equal, they compare equal.</span></p>
<p style="margin: 10px auto; padding: 0px;"><span style="margin: 0px; padding: 0px; font-family: 'Comic Sans MS';">Changed in version 2.6: Added iteration and equality (hashability).</span></p>
<dl style="margin: 0px; padding: 0px;"><dt id="sqlite3.Row.keys" style="margin: 0px; padding: 0px;"><tt style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px; font-family: 'Comic Sans MS';">keys</span></tt><big style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px; font-family: 'Comic Sans MS';">(</span></big><big style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px; font-family: 'Comic Sans MS';">)</span></big></dt><dd style="margin: 0px; padding: 0px;">
<p style="margin: 10px auto; padding: 0px;"><span style="margin: 0px; padding: 0px; font-family: 'Comic Sans MS';">This method returns a tuple of column names. Immediately after a query, it is the first member of each tuple in&nbsp;</span><a style="margin: 0px; padding: 0px; text-decoration: none; color: #000000; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #333333;" title="sqlite3.Cursor.description" href="http://docs.python.org/library/sqlite3.html#sqlite3.Cursor.description"><tt style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px; font-family: 'Comic Sans MS';">Cursor.description</span></tt></a><span style="margin: 0px; padding: 0px; font-family: 'Comic Sans MS';">.</span></p>
<p style="margin: 10px auto; padding: 0px;"><span style="margin: 0px; padding: 0px; font-family: 'Comic Sans MS';">New in version 2.6.</span></p>
</dd></dl></dd></dl>
<p style="margin: 10px auto; padding: 0px; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; background-color: #ffffff;">&nbsp; &nbsp; 下面举例说明</p>
<div class="cnblogs_code" style="margin: 5px 0px; padding: 5px; font-family: 'Courier New'; font-size: 12px; border: 1px solid #cccccc; overflow: auto;">
<div class="cnblogs_code_toolbar" style="margin: 5px 0px 0px; padding: 0px;"><span class="cnblogs_code_copy" style="margin: 0px; padding: 0px 5px 0px 0px; line-height: 1.5;"><a style="margin: 0px; padding: 0px; text-decoration: none; color: #000000; border: none !important;" title="复制代码"><img style="margin: 0px; padding: 0px; border: none !important;" src="http://common.cnblogs.com/images/copycode.gif" alt="复制代码" /></a></span></div>
<div style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">cx.row_factory&nbsp;</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">=</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">&nbsp;sqlite3.Row<br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">c&nbsp;</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">=</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">&nbsp;cx.cursor()<br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">c.execute(</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">'</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">select&nbsp;*&nbsp;from&nbsp;catalog</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">'</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">)</span></div>
<div style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">&nbsp;</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">&lt;</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">sqlite3.Cursor&nbsp;object&nbsp;at&nbsp;</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">0x05666680</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">&gt;</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;"><br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">r&nbsp;</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">=</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">&nbsp;c.fetchone()<br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">type(r)<br style="margin: 0px; padding: 0px;" />
</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">&lt;</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">type&nbsp;</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">'</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">sqlite3.Row</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">'</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">&gt;</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;"><br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">r<br style="margin: 0px; padding: 0px;" />
</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">&lt;</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">sqlite3.Row&nbsp;object&nbsp;at&nbsp;</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">0x05348980</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">&gt;</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;"><br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #0000ff;">print</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">&nbsp;r<br style="margin: 0px; padding: 0px;" />
(0,&nbsp;</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">10</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">,&nbsp;u</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">'</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">\u9c7c</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">'</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">,&nbsp;u</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">'</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">Yu</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">'</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">)<br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">len(r)<br style="margin: 0px; padding: 0px;" />
</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">4</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;"><br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">r[</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">2</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #使用索引查询<br style="margin: 0px; padding: 0px;" />
</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">u</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">'</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">\u9c7c</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">'</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;"><br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">r.keys()<br style="margin: 0px; padding: 0px;" />
</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">[</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">'</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">id</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">'</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">,&nbsp;</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">'</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">pid</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">'</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">,&nbsp;</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">'</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">name</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">'</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">,&nbsp;</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">'</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">nickname</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">'</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">]<br style="margin: 0px; padding: 0px;" />
<br style="margin: 0px; padding: 0px;" />
<span style="background-color: #ffffff; font-family: verdana, Arial, Helvetica, sans-serif; line-height: 25px; color: #333333; font-size: 14px;">&nbsp;使用列的关键词查询</span></span></div>
<div style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;"></span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">In&nbsp;[</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">43</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">]:&nbsp;r[</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">'</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">id</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">'</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">]</span></div>
<div style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">Out[</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">43</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">]:&nbsp;0</span></div>
<div style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">In&nbsp;[</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">44</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">]:&nbsp;r[</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">'</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">name</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">'</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">]</span></div>
<div style="margin: 0px; padding: 0px;"><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">Out[</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">44</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #000000;">]:&nbsp;u</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">'</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">\u9c7c</span><span style="margin: 0px; padding: 0px; line-height: 1.5; color: #800000;">'</span></div>
</div>
<p>&nbsp;</p><img src ="http://www.blogjava.net/pts/aggbug/400367.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pts/" target="_blank">pts</a> 2013-06-07 19:01 <a href="http://www.blogjava.net/pts/archive/2013/06/07/400367.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>为pamie增加两个有关获取指定td、tr的函数</title><link>http://www.blogjava.net/pts/archive/2013/06/07/400351.html</link><dc:creator>pts</dc:creator><author>pts</author><pubDate>Fri, 07 Jun 2013 06:59:00 GMT</pubDate><guid>http://www.blogjava.net/pts/archive/2013/06/07/400351.html</guid><wfw:comment>http://www.blogjava.net/pts/comments/400351.html</wfw:comment><comments>http://www.blogjava.net/pts/archive/2013/06/07/400351.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pts/comments/commentRss/400351.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pts/services/trackbacks/400351.html</trackback:ping><description><![CDATA[<p>&nbsp;</p><p>&nbsp; &nbsp; def getTdOfTableContains(self,table,conText):</p><p>&nbsp; &nbsp; &nbsp; &nbsp; #add 20130607 by sho</p><p>&nbsp; &nbsp; &nbsp; &nbsp; #find first td in table and td's innertext contains conText</p><p>&nbsp; &nbsp; &nbsp; &nbsp; for cell in table.cells:</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if conText in cell.innertext:</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return cell</p><p>&nbsp; &nbsp; &nbsp; &nbsp; return None</p><p>&nbsp;</p><p>&nbsp; &nbsp; def getTrOfTableContains(self,table,conText):</p><p>&nbsp; &nbsp; &nbsp; &nbsp; #add 20130607 by sho</p><p>&nbsp; &nbsp; &nbsp; &nbsp; #find first tr in table and tr's cells contains conText</p><p>&nbsp; &nbsp; &nbsp; &nbsp; td=self.getTdOfTableContains(table,conText)</p><p>&nbsp; &nbsp; &nbsp; &nbsp; if td:</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return self.getElementParent(td)</p><p>&nbsp; &nbsp; &nbsp; &nbsp; else:</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return None</p><p>测试代码：</p><p>&nbsp;</p><p>*** 远程解释器再初始化了 &nbsp;***</p><p>&gt;&gt;&gt; from PAM30 import PAMIE</p><p>&gt;&gt;&gt; ie=PAMIE("http://1.1.1.1/query/itemQueryAction.do?method=jumpToSingleItemTrackQuery")</p><p>&gt;&gt;&gt; ie.setTextBox("itemno","1191590659011")</p><p>True</p><p>&gt;&gt;&gt; ie.submitForm("itemQueryForm")</p><p>True</p><p>&gt;&gt;&gt; tb4=ie.findElement("table","classname","table4")</p><p>&gt;&gt;&gt; tr_sj=ie.getTrOfTableContains(tb4,u"收寄")</p><p>&gt;&gt;&gt; print tr_sj.outerhtml</p><p>&nbsp;</p><p>&nbsp;</p><img src ="http://www.blogjava.net/pts/aggbug/400351.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pts/" target="_blank">pts</a> 2013-06-07 14:59 <a href="http://www.blogjava.net/pts/archive/2013/06/07/400351.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]打工是最愚蠢的投资</title><link>http://www.blogjava.net/pts/archive/2012/09/28/388779.html</link><dc:creator>pts</dc:creator><author>pts</author><pubDate>Fri, 28 Sep 2012 06:30:00 GMT</pubDate><guid>http://www.blogjava.net/pts/archive/2012/09/28/388779.html</guid><wfw:comment>http://www.blogjava.net/pts/comments/388779.html</wfw:comment><comments>http://www.blogjava.net/pts/archive/2012/09/28/388779.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pts/comments/commentRss/388779.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pts/services/trackbacks/388779.html</trackback:ping><description><![CDATA[&#8212;&#8212;李嘉诚在大梅沙的演讲 <br />From：<a href="http://www.ebook99.com/blog/post/2004.html">http://www.ebook99.com/blog/post/2004.html</a><br /><br />打工是最愚蠢的投资--------- 很多人会认为打工并不是投资，强烈反对这种观念。其实打工才是最大最愚蠢的投资。人生最宝贵的是什么？除了我们的青春还有什么更宝贵？很多人都抱怨我穷，我没钱想做生意又找不到资金。 <br /><br />多么的可笑！其实在你身上就有着一座金山(无形资产)，只是你不敢承认。宁可埋没也不敢利用。宁可委委屈屈地帮人打工，把你的资产双手拱让给了你的老板。我们试想一下，有谁生下来上天就会送给他一大堆金钱的？ 问问李嘉诚吧。 <br /><br />我曾经问过我的一个朋友为什么不去打工？他的回答很惊人：&#8220;说句得罪点，出去打工简直就是愚蠢浪费青春！<br /><br />为什么你一直是打工仔？ <br /><br />因为你安于现状！ <br /><br />因为你没有勇气，你天生胆小怕事不敢另择它路！所以你是打工仔！因为你没有勇往直前，没有超越自我的精神！所以，你还是一个打工仔！你想过了改变你的生活，改变你穷困的命运，但是你没有做！ <br /><br />因为你不敢做！你害怕输，你害怕输的一穷再穷！你最后不敢想，还是在打工，所以你还是打工仔！！！你努力了，你拼搏了，你抱着雄心大志。结果你没看到预想的成就！你放弃了！你只还是一个打工仔！！为什么你一直是打工仔？ <br /><br />因为你随波逐流！近墨者黑，不思上进，分钱没得，死爱闹热，所以你一直是打工仔！ <br /><br />因为你畏惧你父母，你听信你亲戚，你没有主张，你不敢一个人做决定。所以，你只不过还是一直是一个打工仔！ <br /><br />你观念传统，只想打工赚点钱结婚生子，然后生病老死，走你父母一模一样的路，所以你一直是打工仔！你天生脆弱、脑筋迟钝只想做按班就部的工作，你想做无本的生意，你想坐在家里等天上掉陷饼，所以你一直是一个打工仔！你抱怨没有机遇，机遇来到你身边的时候你又抓不住！ <br /><br />因为你不会抓！所以你还是一直是打工仔！因为你的贫穷，所以你自卑！你退缩了！你什么都不敢做！你只会给别人打工！所以你一直是打工仔！你没有特别技能，你只有使蛮力！你和你父母一样，恶性循环，所以，你一直永远的一个一直在打工的打工仔！　　很多人想把握机会，要做一件事情时，但往往给自己找了很多理由让自己一直处于矛盾之中，不断浪费时间，虚度时光。 <br /><br />1、我没有口才<br />错：有没有人天生就会说话，台上的演讲大师也不是一下子就能出口成章，骂人的时候很擅长，抱怨的时候也很擅长，这也是口才，只是没有任何营养罢了，那是没有价值的口才；看别人争论的时候，自己满嘴评头论足，却不反省自己，倘若你做得好，你今天是否还说自己没口才？ <br /><br />2、我没有钱<br />错：不是没有钱，而是没有赚钱的脑袋，工作几年了没有钱么，有了，但是花掉了，花在没有回报的事情上面，吃喝玩乐，或存放贬值了，没有实现最大化，所以钱就这样入不敷出，这样月光光这样被生活所需全部一一使用，这样周而复始，每月做个月光族，没有远虑，当一天和尚敲一天钟，得过且过。 <br /><br /><br /><br />　 3、我没有能力<br />错：不给自己机会去锻炼，又有谁一出生就有跑的能力?跳的能力？一毕业就是社会精英?一创业就马上成功?当别人很努力的学习，很努力的积累，努力的找方法，而他每天就做了很少一点就觉得乏味，学了一些就觉得没意思，看了一些就不想看，跟自己跟别人说没兴趣学，然后半辈子过去，一事无成，然后牢骚上天不给机会。能力是努力修来的，不努力想有能力，天才都会成蠢材，但努力，再笨的人也能成精英。 <br /><br />　<br /><br />4、我没有时间错：时间很多，但浪费的也很多，别人很充实，他在看电视，别人在努力学习时，他在游戏消遣虚度，总之时间就是觉得很多余，他过得越来越无聊，别人赚钱了羡慕别人，但不去学别人好好把握时间创造价值，整天不学无术。 <br /><br />　　<br /><br />5、我没有心情<br />错：心情好的时候去游玩；心情不好的时候在家喝闷酒，心情好的时候去逛街，心情不好的时候玩游戏，心情好的时候去享受，心情不好的时候就睡大觉，好坏心情都一样，反正就是不做正事。 <br /><br />　　<br /><br />6、我没有兴趣<br />错：兴趣是什么，吃喝玩乐谁都有，没有成就哪里来的尽兴，出去旅游回来月光族，出去K歌回头钱包空空，出去大量购物回来惨兮兮。打工有没有兴趣，挤公车有没有兴趣？上班签到下班打卡有没有兴趣？家里急需要一大笔钱的时候借钱有没有兴趣？要还钱没钱还有没有兴趣？卖老鼠药的人对老鼠药有没有兴趣&#8230;&#8230;？ <br /><br />　<br /><br />7、我没有考虑<br />错：考虑做吧，有可能就成了！不做吧，好不甘心，整天上班也没有个头，还是做吧，明天开始，不过还是算了，再想想，这钱挣的也不容易，不不，就是打工挣钱也不容易，所以不能放弃机会，决定了，把握机会。哎呀！天都黑了，明天再说吧！然后第二天又因为以上123456点，因为左思右想，继续循环，最终不能决定，犹犹豫豫，还是一无所获。 <br /><br />　　<br /><br />有句话是，可怜之人必有可恨之处！这一生中不是没有机遇，而是没有争取与把握，借口太多，理由太多&#8230;&#8230;！争取之人必竭力争取，一分钱都没有也千方百计想办法，不争取之人给一百万也动不起来，发财不了，还有可能一败涂地，这就是行动上的欠缺，喜欢犹豫不决，喜欢拖延，喜欢半途而废，最后一辈子平庸，庸碌无为！还有的人，做事三分钟热度，一开始热情高涨，等会就继续懒散，这种人成功的帽子也不会在你的头上。 <br /><br />看看为什么别人身价几个亿，你自己还在为钱奔波，不要羡慕别人命好，别人很困难的时候是怎么坚挺过来的，怎么克服困难、突破自己、改变命运的，你没看到罢了。活着就是要一身价值!<img src ="http://www.blogjava.net/pts/aggbug/388779.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pts/" target="_blank">pts</a> 2012-09-28 14:30 <a href="http://www.blogjava.net/pts/archive/2012/09/28/388779.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>pamie 中getElementsList对中文内容的处理</title><link>http://www.blogjava.net/pts/archive/2012/08/29/386543.html</link><dc:creator>pts</dc:creator><author>pts</author><pubDate>Wed, 29 Aug 2012 13:48:00 GMT</pubDate><guid>http://www.blogjava.net/pts/archive/2012/08/29/386543.html</guid><wfw:comment>http://www.blogjava.net/pts/comments/386543.html</wfw:comment><comments>http://www.blogjava.net/pts/archive/2012/08/29/386543.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pts/comments/commentRss/386543.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pts/services/trackbacks/386543.html</trackback:ping><description><![CDATA[<div>pamie 中getElementsList方法对于查找tag的innertext属性是中文是会出错，需要修改pamie30文件的第959行，增加给出的属性是中文时的判断方式，不需要str(valText)方法检验：<br />if not isinstance(valText):<br />&nbsp;&nbsp;&nbsp; valText = str(valText)<br />如此以来，比如查找innertext为&#8220;中文&#8221;的td list时，可使用如下方法：<br />1、val=u"中文"<br />2、td_list=ie.getElementsList("td","innertext="+val)</div><img src ="http://www.blogjava.net/pts/aggbug/386543.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pts/" target="_blank">pts</a> 2012-08-29 21:48 <a href="http://www.blogjava.net/pts/archive/2012/08/29/386543.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>pamie 中对网页中有&lt;br&gt;的处理</title><link>http://www.blogjava.net/pts/archive/2012/08/27/386386.html</link><dc:creator>pts</dc:creator><author>pts</author><pubDate>Mon, 27 Aug 2012 14:56:00 GMT</pubDate><guid>http://www.blogjava.net/pts/archive/2012/08/27/386386.html</guid><wfw:comment>http://www.blogjava.net/pts/comments/386386.html</wfw:comment><comments>http://www.blogjava.net/pts/archive/2012/08/27/386386.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pts/comments/commentRss/386386.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pts/services/trackbacks/386386.html</trackback:ping><description><![CDATA[比如网页中有如下代码：<br />&lt;td&gt;2012-3-8&lt;br&gt;12:10:00&lt;/td&gt;<br />使用td.innertext获得的是2012-3-8\r\n12:10:00<br />因此要替换必须使用replace("\r\n","替换的新内容")，简单使用\n不行！！！费了我2个小时才发现。<br />因为使用innertext属性后，&lt;br&gt;直接转换为\r\n，而不是\n<img src ="http://www.blogjava.net/pts/aggbug/386386.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pts/" target="_blank">pts</a> 2012-08-27 22:56 <a href="http://www.blogjava.net/pts/archive/2012/08/27/386386.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【转】JavaScript Table、TableRow、TableCell属性、方法、事件</title><link>http://www.blogjava.net/pts/archive/2012/01/06/368032.html</link><dc:creator>pts</dc:creator><author>pts</author><pubDate>Fri, 06 Jan 2012 11:19:00 GMT</pubDate><guid>http://www.blogjava.net/pts/archive/2012/01/06/368032.html</guid><wfw:comment>http://www.blogjava.net/pts/comments/368032.html</wfw:comment><comments>http://www.blogjava.net/pts/archive/2012/01/06/368032.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/pts/comments/commentRss/368032.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/pts/services/trackbacks/368032.html</trackback:ping><description><![CDATA[<li>
<div>
<h2>JavaScript Table、TableRow、TableCell属性、方法、事件</h2></div></li><li>
<div class="subtitle"><span>Sat Oct 15 15:18:16 CST 2011</span> <span>一家理财网(整理)</span> <span><a id="favorite" href="javascript:void(0);" jquery1325848460718="10">我要收藏(<span style="color: red" id="favorite_show1">0</span>)</a></span> <span><a href="../../pinglun/neirong/41.html">我要评论(<span style="color: red" id="comment_show1">0</span>)</a></span> </div></li><li>
<div class="articleContent">
<p>Table表格对象&nbsp;&nbsp;Table对象:表示HTML文档中的表，对于文档中每个&lt;table&gt;标记，浏览器都创建一个Table对象.</p>
<p>&nbsp;</p>
<table border="1" width="700">
<tbody>
<tr>
<td colspan="2">Table对象集合</td></tr>
<tr>
<td width="236">集合</td>
<td width="448">描述</td></tr>
<tr>
<td>cells[]</td>
<td>获取包含表格中所有单元格的数组</td></tr>
<tr>
<td>rows[]</td>
<td>获取包含表格中所有行的数组</td></tr>
<tr>
<td>tBodies[]</td>
<td>获取包含表格中所有tbody的数组</td></tr>
<tr>
<td colspan="2">Table对象属性</td></tr>
<tr>
<td>border</td>
<td>设置或获取表格边框</td></tr>
<tr>
<td>caption</td>
<td>设置或获取表格标题</td></tr>
<tr>
<td>cellPadding</td>
<td>设置或获取每个单元格边框与内容的宽度</td></tr>
<tr>
<td>cellSpacing</td>
<td>设置或获取表格中单元格的间距</td></tr>
<tr>
<td>frame</td>
<td>设置或获取表格具有哪些边框</td></tr>
<tr>
<td>rules</td>
<td>设置或获取表格中的内部边框</td></tr>
<tr>
<td>summary</td>
<td>设置或获取表格的描述</td></tr>
<tr>
<td>tFoot</td>
<td>获取表格的tFoot对象</td></tr>
<tr>
<td>tHead</td>
<td>获取表格的tHead对象</td></tr>
<tr>
<td>width</td>
<td>设置或获取表格宽度</td></tr>
<tr>
<td colspan="2">Table对象方法</td></tr>
<tr>
<td>createCaption()</td>
<td>为表格创建一个空的标题元素</td></tr>
<tr>
<td>createTFoot()</td>
<td>为表格创建一个空的tFoot元素</td></tr>
<tr>
<td>createTHead()</td>
<td>为表格创建一个空的tHead元素</td></tr>
<tr>
<td>deleteCaption()</td>
<td>删除表格的标题元素</td></tr>
<tr>
<td>deleteRow()</td>
<td>删除指定的表格行</td></tr>
<tr>
<td>deleteTFoot()</td>
<td>删除表格的tFoot元素</td></tr>
<tr>
<td>deleteTHead()</td>
<td>删除表格的tHead元素</td></tr>
<tr>
<td>insertRow()</td>
<td>向表格中插入新行</td></tr></tbody></table>
<p>&nbsp;</p>
<p>TableCell对象:表示HTML文档中表的单元格，对于文档中每个&lt;td&gt;标记，浏览器都创建一个TableCell对象.</p>
<p>&nbsp;</p>
<table border="1" width="700">
<tbody>
<tr>
<td colspan="2">TableCell对象属性</td></tr>
<tr>
<td width="236">属性</td>
<td width="448">描述</td></tr>
<tr>
<td>abbr</td>
<td>设置或获取单元格的摘要</td></tr>
<tr>
<td>align</td>
<td>设置或获取单元格中文字的水平对齐方向</td></tr>
<tr>
<td>axis</td>
<td>设置或获取以逗号分隔的相关单元格组成的列表</td></tr>
<tr>
<td>cellIndex</td>
<td>获取行单元格集合中某单元格的位置</td></tr>
<tr>
<td>ch</td>
<td>设置或获取单元格的对齐特征</td></tr>
<tr>
<td>chOff</td>
<td>设置或获取单元格的对齐偏移特征</td></tr>
<tr>
<td>colSpan</td>
<td>设置或获取单元格跨越的表格列数</td></tr>
<tr>
<td>headers</td>
<td>设置或获取以空格分表头单元格的id列表</td></tr>
<tr>
<td>height</td>
<td>设置或获取单元格的高度</td></tr>
<tr>
<td>innerHTML</td>
<td>设置或获取单元格标记间的HTML文本</td></tr>
<tr>
<td>noWrap</td>
<td>设置或获取单元格是否自动换行</td></tr>
<tr>
<td>rowSpan</td>
<td>设置或获取单元格跨越的表格行数</td></tr>
<tr>
<td>scope</td>
<td>设置或获取与标题相关联的数据列</td></tr>
<tr>
<td>vAlign</td>
<td>设置或获取单元格文字的垂直对齐方向</td></tr>
<tr>
<td>width</td>
<td>设置或获取单元格的宽度</td></tr></tbody></table>
<p>&nbsp;</p>
<p>TableRow对象:表示HTML文档中表的行，对于文档中每个&lt;tr&gt;标记，浏览器都创建一个TableRow对象.</p>
<p>&nbsp;</p>
<table border="1" width="700">
<tbody>
<tr>
<td colspan="2">TableRow对象集合</td></tr>
<tr>
<td width="236">集合</td>
<td width="448">描述</td></tr>
<tr>
<td>cells[]</td>
<td>获取表格行中所有列组成的数组</td></tr>
<tr>
<td colspan="2">Table对象属性</td></tr>
<tr>
<td>accessKey</td>
<td>设置或获取该对象的快捷键</td></tr>
<tr>
<td>align</td>
<td>设置或获取表格行中单元格中文字的水平对齐方向</td></tr>
<tr>
<td>chOff</td>
<td>设置或获取单元格的对齐偏移特征</td></tr>
<tr>
<td>colSpan</td>
<td>设置或获取单元格跨越的表格列数</td></tr>
<tr>
<td>height</td>
<td>设置或获取表格行的高度</td></tr>
<tr>
<td>innerHTML</td>
<td>设置或获取表格行标记间的HTML文本</td></tr>
<tr>
<td>innerText</td>
<td>设置或获取表格行标记间的文本</td></tr>
<tr>
<td>rowIndex</td>
<td>获取表格行对象在表格行集合中的位置</td></tr>
<tr>
<td>sectionRowIndex</td>
<td>获取tBody，tHead或tFoot中，表格行对象在行集合中的位置</td></tr>
<tr>
<td>tabIndex</td>
<td>设置或获取表格行的Tab顺序索引</td></tr>
<tr>
<td>vAlign</td>
<td>设置或获取表格行中文字的垂直对齐方向</td></tr>
<tr>
<td>width</td>
<td>设置或获取表格行的宽度</td></tr>
<tr>
<td colspan="2">TableRow对象方法</td></tr>
<tr>
<td>blur()</td>
<td>取消该对象的激活状态</td></tr>
<tr>
<td>click()</td>
<td>模拟鼠标单击该对象</td></tr>
<tr>
<td>deleteCell([i])</td>
<td>删除表格行中的指定的单元格</td></tr>
<tr>
<td>focus()</td>
<td>将焦点移至表格行</td></tr>
<tr>
<td>insertCell()</td>
<td>在表格行中插入新单元格</td></tr></tbody></table>
<p>&nbsp;</p></div></li><li>信息来源：http://www.efamilly.com <a title="如果您觉得该篇文章侵犯了您的版权或所描述内容严重偏离客观事实，您可以在此申诉或投诉。" href="javascript:void(0)">(举报这篇文章)</a></li><img src ="http://www.blogjava.net/pts/aggbug/368032.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/pts/" target="_blank">pts</a> 2012-01-06 19:19 <a href="http://www.blogjava.net/pts/archive/2012/01/06/368032.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>