当前位置: 首页 > news >正文

关于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':breakword=word.decode("gbk").encode("utf8")i=0print "start..."while 1:i=i+1datl=fp.readline()if datl=="":breakif i%10000==0:print i#if i<sline:continueif 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':breakprint "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=1000frp=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+1if i%10000==0:print idat=frp.readline()if dat=="":break#if i>MAXLIST:breakelse: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啊,不知是不是没有下载到完整版,嘿嘿

转载于:https://www.cnblogs.com/fwindpeak/p/3392955.html

http://www.lryc.cn/news/570703.html

相关文章:

  • 文件或目录损坏且无法读取怎么修复
  • Struts2中Action通配符的配置
  • [转]Linux下安装搜狗拼音输入法
  • 汇川SV660F伺服驱动器通过EtherCAT主站转Profinet网关接入到profinet系统
  • Qwen2.5-VL 是什么?
  • AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年6月15日第109弹
  • Linux下的优秀开源软件
  • css属性:图片使用filter属性使得position: fixed失效的情况
  • 如何使用github并且参与别人的开源项目
  • 用 Redis 都能实现哪些功能?这2万字+20张图给分析全了
  • WiFi基本知识
  • Nginx工作原理和优化总结。
  • 小程序开发实用技巧——扩展 Page 页面对象
  • 数据库的脏读,幻读,幻行的原理及解决方式
  • 125. 验证回文串
  • 学习信号量 sem_init、sem_destroy、sem_post、sem_wait、sem_trywait、sem_getvalue
  • Android-常用基本控件
  • Linux禁用CTRL+ALT+DEL重启系统
  • linux下阅读.caj文件
  • open函数的用法:
  • 仿淘宝中心轮播图 JS[代码+详细讲解+效果图]
  • 程序员必备的15个接单平台,拥有即将获得“钞能力”!
  • “生日贺卡祝福”源代码编写打印
  • 制作简单的HTML个人网页指南
  • 大模型笔记2:提示词工程
  • three.js 通过 Reflector.js 创建镜面反射
  • 【GDB】修改程序的二进制文件
  • 毕业设计基于微信小程序的高校车辆管理系统的设计与实现
  • RSS源推荐大全
  • ssh学习整理笔记