用excel删除重复数据
整理一些数据的时候,遇到重复条目怎么办。顺序排列,然后一条条删么?这显然太费劲了。使用excel就可以简单实现这个需求。
将数据复制粘贴到A列中,在B1列中输入下面公式:
=IF(COUNTIF(A$1:A1,A1)=1,”保留”,”删除”)
向下复制B列的公式,然后排序一下,将B列显示删除的行删除即可。如果是多列数据,同样可以使用上面方法,只是改一下公式中所需整理列的列名标签。
整理一些数据的时候,遇到重复条目怎么办。顺序排列,然后一条条删么?这显然太费劲了。使用excel就可以简单实现这个需求。
将数据复制粘贴到A列中,在B1列中输入下面公式:
=IF(COUNTIF(A$1:A1,A1)=1,”保留”,”删除”)
向下复制B列的公式,然后排序一下,将B列显示删除的行删除即可。如果是多列数据,同样可以使用上面方法,只是改一下公式中所需整理列的列名标签。
判断网页文件是否存在的方法倒是很多,asp版的可以看我前两篇文章介绍的方法,FSO方法和XMLHTTP方法,这里有一个php版的,摘录并了解一下get_headers函数。
< ?php
$url = 'http://www.baizoo.cn/index.php';
if (get_headers($url)<>false)
{
echo “文件存在”;
}
else
{
echo “文件不存在”;
}
//print_r(get_headers($url, 1));
?>
补充说明:
get_headers函数说明:取得服务器响应一个HTTP 请求所发送的所有标头
array get_headers ( string $url [, int $format ] )
get_headers() 返回一个数组,包含有服务器响应一个 HTTP 请求所发送的标头。如果失败则返回 FALSE 并发出一条 E_WARNING 级别的错误信息。 Read more…
在网上找判断远程文件是否存在的asp代码时,看到了这个代码,也顺便记录一下。
<%
url=request.querystring("url")
Set fs = Server.CreateObject("Scripting.FileSystemObject")
File = Server.MapPath(url)
If fs.FileExists(File) Then '判断url文件是否存在
Response.Write File & "文件存在"
Else
Response.Write File & "文件不存在"
End If
%>
使用时,在地址后面加 ?url=本地文件名
XMLHTTP在采集建站中非常常用,用它来判断网页是否存在也是个不错的方法。今天测试这个使用方法,并做些整理。
基于asp的应用
<%
Function testURL(url)
set XMLHTTP =Server.CreateObject("Microsoft.XMLHTTP")
XMLHTTP.open "HEAD",url,false
XMLHTTP.send()
'这里的200表示访问正常
‘如果是404是的话则说明页面不存在
if XMLHTTP.status=200 then
testURL = 1
Else
testURL = 0
end If
Set XMLHTTP = Nothing
End Function
if testURL("http://www.baizoo.cn/index.php")=0 then
response.write "文件不存在"
else
response.write "文件存在"
end if
%>
想要在网页程序中查找域名的IP,ASP的方法据我了解有两种。
一、使用wscript.shell运行ping或者nslookup命令获取已知域名的服务器的IP。
<%if request("name")<>“” then response.write server.createobject(“wscript.shell”).exec(server.mappath(“nslookup.exe”)&” “&request.form(“name”)).stdout.readall%>
虽然wscript.shell组件可用。上面的代码刚开始在我电脑上测试时通过不过。
将c:\windows\system32下nslookup复制到asp文件的目录下,可以了。
方法二、使用TCPIP.DNS组件
<%Set DNS=CreateObject("TCPIP.DNS")
IP=DNS.GetIPByHost("www.baizoo.cn")%>
下载:TCPIP.DNS组件
需要注意的一点:双击安装组件的时候,默认是安装在系统盘,比如”C:\Program Files\PSTRUH\TCPIP\”,这里不要修改,否则可能无法使用。
动态pjblog的文章是以/article.asp?id=num结尾的,转成Wordpress之后怎么样让这个地址跳转到新的可以访问到的页面呢?如/archives/num.html
因为我这个主机是apache服务器拥有mod_rewrite组件支持,所以我们可以使用mod_rewrite进行重定向。
方法:在Wordpress根目录的.htaccess文件中加入下面语句
RewriteCond %{QUERY_STRING} ^id=([0-9]+)$
RewriteRule ^(.*)$ archives/%1.html? [R=301,L]
这样就可以实现重定向了。测试之后发觉,如果在wp后台改过固定链接之后.htaccess将会被重写,这样你就需要重新修改。
下面测试一下访问这个页面的效果http://www.baizoo.cn/article.asp?id=18
mod_rewrite内容相当丰富,这么几句话就花了我很长时间去参透,其中不仅涉及Rewrite指令,还涉及正则表达式的知识。
下面有几条常见正则表达式的格式,转来参考。 Read more…
Mysql替换语句
update ‘表名(比如我案例中的dede_art)’ set 要修改字段名 = replace (要修改字段名,’被替换的特定字符’,'替换成的字符’)
例:
update `dede_art` set title=replace(title,’ “IMG border=0 src=Images/hot.gif”;’,”);
MSSQL替换语句:
update 表名 set 字段名=replace(cast(字段名 as varchar(8000)),’abc.com’,’123.com’)
例:
update PE_Article set Content=replace(cast(Content as varchar(8000)),
‘http://news.163.com/,’http://www.baizoo.cn/’)
其中PE_Article 为表名 Content为字段名 http://news.163.com/为要替换的内容 http://www.baizoo.cn/为替换后的内容。
使用工具ASP在线将ACCESS转MSSQL程序可实现
下面是这个工具提取出来的基本步骤,只为自己理解整个过程,和手工转换时用。
1、在mssql中建表
create table content
2、导入数据
SET IDENTITY_Insert [dbo].[Content] ON ‘允许将显式值插入表的标识列中
go
insert into content(字段……)select (Access中对应字段) from opendatasource(‘Microsoft.Jet.OLEDB.4.0′,’Data Source=”access数据库文件地址”‘)
go
SET IDENTITY_Insert [dbo].[Content] Off
网上有关于access转mssql的注意事项,转来参考: Read more…
主要是用MSXML2.XMLHTTP获取页面内容的方式采集到alexa的值
如本站的真实alexa获取地址为:http://www.alexa.com/data/details/traffic_details/baizoo.cn
具体代码如下: Read more…

VC版比Delphi复杂很多,但更加完善了。不过功夫不负有心人,经过努力,这个VC版读写注册表的操作终于还是被我实现了。
方法:新建一个mfc基于对话框的应用程序,
VC中主要是API函数的属性比较多,所以感觉比较复杂,不像Delphi中Registry的Rootkey,OpenKey,WriteString,WriteInteger等方法根本就没多少参数要记。
这个程序用到了以下几个函数
RegOpenKeyEx() 打开一个指定键
RegDeleteValue() 在注册表中从一个键中删除一个值
RegSetValueEx() 向一个打开的注册表的键中存储数据
RegCloseKey() 关闭打开的注册表句柄
ShellExecute() 打开执行指定文件
其他注册表的修改与Delphi版类似
这里记录几条关键代码,用来加深印象。
打开指定键,&hkey通过引用被附了值。
RegOpenKeyEx(HKEY_CURRENT_USER,strSubKey,0,KEY_READ|KEY_WRITE,&hkey)
删除DisableRegistryTools项
RegDeleteValue(hkey,”DisableRegistryTools”)
在注册表中写入内容
1、REG_DWORD型
WORD dwValue=0;
::RegSetValueEx(hkey,L”HomePage”,0,REG_DWORD,(LPBYTE)&dwValue,sizeof(DWORD));
2、REG_SZ型(SZ表示string zero,是字符串型)
LPCTSTR lpszValue=_T(“about:blank”);
::RegSetValueEx(hkey,L”Start Page”,0,REG_SZ,(CONST BYTE*)lpszValue,(lstrlen(lpszValue)+1)*sizeof(TCHAR));
遇到问题:
出现错误 error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [15]”转换为“LPCTSTR”
解决方法:1、可在双引号字符串用_T(“”)引用起来 (也可以用 L”")
2、或者在工程选项里面将编码改成Not Set
程序下载
点击下载此文件
这个实例可参考下面文章
http://www.cnblogs.com/kaixin110/archive/2008/01/19/1045339.html
Recent Comments