早期都是通过Excel做数据统计,对某一列的数据插入处理。

代码功能是从A列纯域名,将域名转换为IP,从域名A列得到IP写到B列。

代码

#!/usr/bin/python
#coding:utf-8 import sys
import os
import socket
from xlutils.copy import copy
import xlrd
from urllib.parse import urlparse def domain2ip(domain):
res = urlparse(domain)
try :
if res.netloc == "":
ip = socket.gethostbyname(res.path)
else:
ip = socket.gethostbyname(res.netloc)
except Exception as e:
ip = "error"
return ip def read_excel(filename,
Row_num,
Col_num):
book = xlrd.open_workbook(filename)
sheet = book.sheet_by_name('target')
return sheet.cell_value(Row_num,Col_num) def excel_insert(excel_filename,
Row_num, # 行
Col_num , # 列
Value # 内容
):
book = xlrd.open_workbook(excel_filename) # 打开excel
new_book = copy(book) # 复制excel
sheet = new_book.get_sheet(0) # 获取第一个表格的数据
sheet.write(Row_num, Col_num, Value) # 修改1行2列的数据为'Haha'
new_book.save('secondsheet.xlsx') # 保存新的excel
os.remove(excel_filename) # 删除旧的excel
os.rename('secondsheet.xlsx', excel_filename) # 将新excel重命名 def target_domain(filename):
book = xlrd.open_workbook(filename)
sheet = book.sheet_by_name('target')
rows = sheet.nrows #获取行数
cols = sheet.ncols #获取列数 for rows_num in range(1,rows):
domain = read_excel(filename, rows_num, 1) # 读取第N行第1列的数据
print(rows_num,domain)
ip = domain2ip(str(domain))
excel_insert(filename,rows_num,2,ip) # 写进第N行第2列数据 if __name__ == '__main__':
#Mysql_insert() # Mysql写入 filename = "赏金列表.xlsx"
target_domain(filename) # 目标列表的域名转IP

Excel对某一列的数据插入处理,域名得出IP的更多相关文章

  1. 经excel要将数据库(ORACLE)要插入数据

    大家都知道PL/SQL可以excel数据复制.我们也可以通过相同excel将数据插入到数据库. 下面我们就来简单的样品,并与主题演示 首先,我们创建了一个表test CREATE TABLE test ...

  2. DataGridView绑定数据库,取得的数据插入到DataGridView指定列(一)

    实现: 点击button1,从数据库中获得数据,指定数据库的某列数据插入到DataGridView指定列 一.双击button1进入事件代码 private void button1_Click(ob ...

  3. .NET 里操作Excel 出现有些列的数据取不到的问题

    错误重现: ----------------------------------------------------------------------- 在导入Excel读取数据时,其中的一个字段保 ...

  4. 错误 0xc0202049: 数据流任务 1: 无法在只读列“ID”中插入数据

    数据库导入导出时总失败,错误信息如下: 正在验证 (错误) 消息错误 0xc0202049: 数据流任务 1: 无法在只读列“ID”中插入数据. (SQL Server 导入和导出向导) 错误 0xc ...

  5. Java读取Excel指定列的数据详细教程和注意事项

    本文使用jxl.jar工具类库实现读取Excel中指定列的数据. jxl.jar是通过java操作excel表格的工具类库,是由java语言开发而成的.这套API是纯Java的,并不依赖Windows ...

  6. 造excel表格横、列数据每一格自动累加填充效果

    1.需求 excel每个横格子和竖格子number数据不一致的情况,保持如下金额字段每次自动累加 2.步骤: 1)设置excel格子为number格式(可以不要小数) 2)选中需要增序的单元格,选择e ...

  7. laravel excel导出调节列宽度,对某列中数据颜色处理

    //$cellData 表格标题栏各名称数组 //$result 表格内容数组//$items getForDataTable得到的表格数据 $result = array_merge($cellDa ...

  8. 工作小应用:EXCEL查找两列重复数据

    工作案例:excel存在A列.B列,需要找出B列没有A列的数据,具体做法如下(以office2007做案例): 1.点击 公式-定义名称 ,选中A列,填写名称“AAA”,选中B列,填写名称“BBB”: ...

  9. Excel中的一列数据变成文本的一行数据

    Excel中的一列数据变成文本的一行数据 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/

随机推荐

  1. SpringMVC的数据效验

    Spring MVC本身没有数据校验的功能,它使用Hibernate的校验框架来完成. 1.导入pom节点 <!-- https://mvnrepository.com/artifact/org ...

  2. Oracle ACS 绑定变量窥视 条件

    1. ACS简介 Oracle Database 11g提供了Adaptive Cursor Sharing (ACS)功能,以克服以往不该共享的游标被共享的可能性.ACS使用两个新指标:sensit ...

  3. jsp实现大文件上传分片上传断点续传

    1,项目调研 因为需要研究下断点上传的问题.找了很久终于找到一个比较好的项目. 在GoogleCode上面,代码弄下来超级不方便,还是配置hosts才好,把代码重新上传到了github上面. http ...

  4. learning java Random 和 ThreadLocalRandom类

    var rand = new Random(); System.out.println(rand.nextBoolean()); System.out.println(rand.nextInt()); ...

  5. CSS滑动门

    如下图所示,每个导航栏目的文字个数不一样多,有的长,有的短,如何用一张背景图片,适应不同字数”的导航条,“滑动门”设计的非常巧妙,采用两个相同的背景图像,一左一右,一个负责提供左边框,一个负责提供右边 ...

  6. 98: 模拟赛-神光 dp

    $code$ #include <cstdio> #include <cstring> #include <algorithm> using namespace s ...

  7. Problem 2 线段树

    $des$ 一个无限长的 01 序列,初始全为 0,每次选择一个区间 [l,r] 进行操作,有三种操作:1. l r 将 [l,r] 中所有元素变成 1.2. l r 将 [l,r] 中所有元素变成 ...

  8. 《挑战30天C++入门极限》C++类静态数据成员与类静态成员函数

        C++类静态数据成员与类静态成员函数 在没有讲述本章内容之前如果我们想要在一个范围内共享某一个数据,那么我们会设立全局对象,但面向对象的程序是由对象构成的,我们如何才能在类范围内共享数据呢? ...

  9. golang-package fmt

    package fmt import "fmt" mt包实现了类似C语言printf和scanf的格式化I/O.格式化动作('verb')源自C语言但更简单. Printing v ...

  10. Qt *.pro工程文件 详解

    先介绍一下QT中关于项目的相关介绍 app - 建立一个应用程序的makefile.这是默认值,所以如果模板没有被指定,这个将被使用. lib - 建立一个库的makefile. vcapp - 建立 ...