关于2000W数据
前几天在博客园首页看到这个2000W数据的消息,刚好这个学期正在SQL入门,加上好奇心的驱使,把这个下载下来。
一个是600多M的CSV文件,还有一个是1.7G的SQL Server的备份文件,解压后都接近8G了,试着在sql server2000上导入一下,貌似直接就说太多了……汗
所以,只好先看看这个CSV文件了,这个解压后也接近2G了,一般的文本编辑器似乎都没辙了,excel之类的东西更是别指望了,好吧,我先承认我的电脑很差,80G的硬盘,并口,ATA/133……呃
我用HEX编辑软件查看了一下,居然是UTF8的编码,那就先用Python简单写段查询,看看有没有村里人中枪吧,哈哈
# -*- coding: utf-8 -*-
def cn(s):
return s.decode("utf8").encode("gbk") try:
fp=file("2000w.csv","r")
while 1:
fp.seek(0)
word=raw_input(cn("查询关键词:"))
fout=file(word+".txt","w")
#sline=int(raw_input(cn("起始行:")))
if word=='exit':break
word=word.decode("gbk").encode("utf8")
i=0
print "start..."
while 1:
i=i+1
datl=fp.readline()
if datl=="":break
if i%10000==0:print i
#if i<sline:continue
if datl.find(word)>0:
tstr=cn("【Line:%d】%s"%(i,datl))
print tstr,
print>>fout,tstr,
#pmt=raw_input(cn("是否继续(y/n):"))
#if pmt=='n':break
print "end"
fout.close()
finally:
fp.close()
fout.close()
顺便把查询记录也保存为一个文件,结果……似乎没发现认识的人,看来他们的保密措施做的不错,哈哈。
终归还是为了练习SQL的,所以还是要将数据导入到sql server先。
在此吐槽一下微软的东西,安装包越做越大,装个软件好几个小时,记得去年装个VS2012Express居然花了整整一上午!!!
所以,对于我这种偏执狂以及标准穷屌丝来说,VC用6.0,sql server用2000的,还是云端版,才几十M,入门学习足够了,哈哈。
回正题,我试着将CSV文件导入到SQL Server里去,发现编码方式只能选择ANSI或者Unicode之类的,选Unicode后英文字符都不正确了,ANSI的话中文肯定乱码,所以还是用Python将编码转成UTF8,插了下资料,UTF8的文本文件有个3字节的文件头,EFBBBF,我直接把它忽略了,哈哈
#MAXLIST=1000
frp=file("2000w_utf8.csv","r")
fwp=file("2000w_ansi.csv","w")
i=1
dat=frp.readline()
fwp.write(dat[3:])
try:
while 1:
i=i+1
if i%10000==0:print i
dat=frp.readline()
if dat=="":break
#if i>MAXLIST:break
else:
try:
dat_w=dat.decode("utf8").encode("gbk")
except UnicodeEncodeError:
print "gbk encode error"
fwp.write(dat)
fwp.write(dat_w)
except Exception,e:
print e
finally:
frp.close()
fwp.close()
print "ok"
这样,导入SQLServer就正确了。
PS:我的数据似乎只有1200多万,没有2000W啊,不知是不是没有下载到完整版,嘿嘿
关于2000W数据的更多相关文章
- 某酒店2000W数据
某酒店2000W数据 2000万开房信息 [某酒店2000w数据 ct2000(解压密码:sjisauisa是就数据8很舒适好sjjss).rar] 国内安全漏洞监测平台乌云(WooYun.org)近 ...
- 2000w数据,redis中只存放20w的数据,如何保证redis中的数据都是热点数据
redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略. redis 提供 6种数据淘汰策略:voltile-lru:从已设置过期时间的数据集(server.db[i].expires) ...
- 2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据
redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略.redis 提供 6种数据淘汰策略: voltile-lru:从已设置过期时间的数据集(server.db[i].expires) ...
- MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如 何保证 redis 中的数据都是热点数据?
Redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略. 相关知识:Redis 提供 6 种数据淘汰策略: volatile-lru:从已设置过期时间的数据集(server.db[i]. ...
- 2000W条数据,加入全文检索的总结
一) 前期准备测试: 旧版的MySQL的全文索引只能用在MyISAM表格的char.varchar和text的字段上. 不过新版的MySQL5.6.24上InnoDB引擎也加入了全文索引,所以具体信息 ...
- 【数据库】_由2000W多条开房数据引发的思考、实践----给在校生的一个真实【练耙场】,同学们,来开始一次伟大的尝试吧。
× 缘起---闲逛博客园 前几天的时候,在某一QQ群看到一条消息“XXX酒店开房XXXBTXX迅雷BT下载”,当时是一目十行的心态浏览,目光掠过时, 第一反应我想多了~以为是XX种子(你懂的~ ...
- 借网上盛传2000w记录介绍多进程处理
2000w的数据在网上搞得沸沸扬扬,作为技术宅的我们也来凑凑热闹.据了解网上有两个版一个是数据库文件另一个是CSV文件的,前者大小有好几个G后者才几百M.对于不是土豪的我们当然下载几百M的.至于在哪下 ...
- redis之数据操作详解
redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set ...
- Mysql学习总结(35)——Mysql两千万数据优化及迁移
最近有一张2000W条记录的数据表需要优化和迁移.2000W数据对于MySQL来说很尴尬,因为合理的创建索引速度还是挺快的,再怎么优化速度也得不到多大提升.不过这些数据有大量的冗余字段和错误信息,极不 ...
随机推荐
- 【转】让 cocos2d-x 的 CCHttpRequest 支持https
肖锐(Cooki)个人原创,欢迎转载,转载请注明地址,肖锐(Cooki)的技术博客 http://blog.csdn.net/xiao0026 由于游戏用到了网络头像, 今天发现换成facebook ...
- 字符串截取数字和点击radio显示不同内容
<html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> & ...
- wifi详解(五)
1 Android平台的Wifi模块移植要点 1.1 Wifi结构 user interface Android WiFiService WPA_Supplicant DHD ...
- Linux下的sniffer工具--TcpDump的安装和使用
在如今众多的黑客技术中,嗅探器(sniffer)是最常见,也是最重要的技术之一. 用过windows平台上的sniffer工具(例如,netxray和sniffer pro软件)的朋友可能都知道,在共 ...
- 【转】traits技术及模板偏特化
#include <iostream> using namespace std; struct __xtrue_type { }; // define two mark-type stru ...
- 《Python CookBook2》 第一章 文本 - 替换字符串中的子串
替换字符串中的子串 任务: 给定一个字符串,通过查询一个字符串替换字典,将字符串中被标记的子字符串替换掉. 解决方案: >>> import string >>> ...
- STM32的JTAG、SWD和串口下载的问题
最近有一个项目用到STM32,为了使PCB布线方便一些所以改了一些引脚,占用了JTAG接口的PA15和PB3,所以要禁用一下JTAG,下载采用SWD模式.这样在实际操作中做出一些总结(方法网上都有.这 ...
- 一个【wchar_t】引发的学案
今天在查cout wcout区别的时候,看到一篇博客(http://blog.csdn.net/hikaliv/article/details/4570956) 里面讲到了wchar_t ----- ...
- LeetCode题解——Longest Common Prefix
题目: 给定一系列的字符串,找出这些字符串的最长公共前缀. 解法: 暴力法,依次比较每个字符串的每个字符,碰到第一个不同的就返回之前找到的前缀. 代码: class Solution { public ...
- pycharm 源文件 编码格式
pycharm 4.5.3 版本 修改项目的编码 按如下操作:菜单 File-Settings-Editor-File Encodings 将IDE Encoding 和 Project Encodi ...