open读文件open()中"a"为追加写,w为删除原有内容从头写,r为只读,r+和w+都为读写(从头) file=open(path,"a",newline="").

csv.reader和csv.writer读写文件,np数组用scv.writer.writerow()和writerows可以直接写入csv中.
if x in 列表y : return[i for i in range(len(y)) if y(i)==x] else 列表.append()这里用的是[],用()的话返回的是生成器.

"""---------*- coding: utf-8 -*------------------File Name:     ex0Author:        kingsCatdate:          2022/3/2 14:04Description:
----------------------------------------------"""
import tqdm
from sklearn import datasets
import numpy as np
import csv
import time# 将相应的非数字类型转换为数字标识即符号型数据转化为数值型数据
def find_index(x, y):return [i for i in range(len(y)) if y[i] == x]# 定义将源文件行中3种协议类型转换成数字标识的函数
def handleProtocol(input):protocol_list = ['tcp', 'udp', 'icmp']if input[1] in protocol_list:return find_index(input[1], protocol_list)[0]# 定义将源文件行中70种网络服务类型转换成数字标识的函数
def handleService(input):service_list = ['aol', 'auth', 'bgp', 'courier', 'csnet_ns', 'ctf', 'daytime', 'discard', 'domain', 'domain_u','echo', 'eco_i', 'ecr_i', 'efs', 'exec', 'finger', 'ftp', 'ftp_data', 'gopher', 'harvest','hostnames','http', 'http_2784', 'http_443', 'http_8001', 'imap4', 'IRC', 'iso_tsap', 'klogin', 'kshell','ldap','link', 'login', 'mtp', 'name', 'netbios_dgm', 'netbios_ns', 'netbios_ssn', 'netstat', 'nnsp','nntp','ntp_u', 'other', 'pm_dump', 'pop_2', 'pop_3', 'printer', 'private', 'red_i', 'remote_job', 'rje','shell','smtp', 'sql_net', 'ssh', 'sunrpc', 'supdup', 'systat', 'telnet', 'tftp_u', 'tim_i', 'time','urh_i', 'urp_i','uucp', 'uucp_path', 'vmnet', 'whois', 'X11', 'Z39_50']if input[2] in service_list:return find_index(input[2], service_list)[0]# 定义将源文件行中11种网络连接状态转换成数字标识的函数
def handleFlag(input):flag_list = ['OTH', 'REJ', 'RSTO', 'RSTOS0', 'RSTR', 'S0', 'S1', 'S2', 'S3', 'SF', 'SH']if input[3] in flag_list:return find_index(input[3], flag_list)[0]# 定义将源文件行中攻击类型转换成数字标识的函数(训练集中共出现了22个攻击类型,而剩下的17种只在测试集中出现)
def handleLabel(input):# label_list=['normal.', 'buffer_overflow.', 'loadmodule.', 'perl.', 'neptune.', 'smurf.',# 'guess_passwd.', 'pod.', 'teardrop.', 'portsweep.', 'ipsweep.', 'land.', 'ftp_write.',# 'back.', 'imap.', 'satan.', 'phf.', 'nmap.', 'multihop.', 'warezmaster.', 'warezclient.',# 'spy.', 'rootkit.']global label_list  # 在函数内部使用全局变量并修改它if input[41] in label_list:return find_index(input[41], label_list)[0]else:label_list.append(input[41])return find_index(input[41], label_list)[0]if __name__ == "__main__":# 加载数据集,并且把data和target合并起来kdd = datasets.fetch_kddcup99(data_home="./kdd-set", download_if_missing=False, random_state=1)X, Y = kdd.data, kdd.targetY = np.expand_dims(Y, 1)  # 在1上扩容,就相当于进入一个[]后再在每个元素中添加[]Z = np.append(X, Y, axis=1)  # 在列上合并.就是指把每一列一溜溜的拍起来.||和|||合并就成就了|||||print(Z.shape)source_path = "./kdd-set"handled_path = "./handled.csv"# 打开文件data_file = open(handled_path, "w", newline="")  # 若没有这个文件,直接就能创建# csv写器csv_writer = csv.writer(data_file)label_list = []for i in tqdm.trange(Z.shape[0]):buffer = Z[i]buffer[1] = handleProtocol(buffer)  # 将源文件行中3种协议类型转换成数字标识buffer[2] = handleService(buffer)  # 将源文件行中70种网络服务类型转换成数字标识buffer[3] = handleFlag(buffer)  # 将源文件行中11种网络连接状态转换成数字标识buffer[41] = handleLabel(buffer)  # 将源文件行中23种攻击类型转换成数字标识csv_writer.writerow(buffer)# 输出每行数据中所修改后的状态data_file.close()def 验证csv读写方式():path="./handled.csv"# open()中"a"为追加写,w为删除原有内容从头写,r为只读,r+和w+都为读写(从头)file=open(path,"a",newline="")writer=csv.writer(file)for i in range(10):print(i)writer.writerow(np.array([1,2,i]))file.close()

python读写-datas.数据集和csv文件-预处理kddcup99相关推荐

  1. python爬虫——保存数据为.csv文件

    CSV(Comma Separated Values)格式是电子表格和数据库中最常见的输入.输出文件格式 爬虫保存数据为.csv文件步骤: 1.导包 import csv 2.创建或打开文件,设置文件 ...

  2. 使用Python获取股票数据(csv文件)

    运行效果 代码 import tushare as ts import matplotlib.pyplot as pltdf1 = ts.get_k_data('600519', ktype='D', ...

  3. python获取mysql中的数据供js调用_python 读取mysql数据至csv文件中,并发送邮件

    test 代码: #coding:utf-8 ''' Created on 2019年2月18日 @author: Administrator ''' import ConfigParser impo ...

  4. python csv读写方法_python中csv文件的若干读写方法小结

    如下所示: //用普通文本文件方式打开和操作 with open("'file.csv'") as cf: lines=cf.readlines() ...... //用普通文本方 ...

  5. Python 爬虫数据写入csv文件中文乱码解决以及天眼查爬虫数据写入csv

    python爬虫数据写入csv文件中文乱码,用'utf-8'在pycharm中打开文件没有问题,但是用excel打开却出现了问题,以下为解决方法. (最近在练习爬虫,这个博文是对自己学习的记录和分享, ...

  6. python 保存本地乱码,解决python保存数据到csv文件中文乱码的方法

    解决python保存数据到csv文件中文乱码的方法 发布时间:2020-07-08 13:49:53 来源:亿速云 阅读:695 作者:清晨 小编给大家分享一下解决python保存数据到csv文件中文 ...

  7. python爬虫案例分析:爬取肯德基门店地址数据导入csv文件并最终用excel文档呈现

    1.用到的模块: requests pprint csv 2.找到肯德基门店网站进入门店位置页面后,打开抓包工具,找到response中包含所需信息的正确的url信息 3. 导入地址url 4.为防止 ...

  8. python查询数据库数据并将数据写入csv文件,并读取

    1.连接数据库 import mysql.connector #连接测试数据库 mydb = mysql.connector.connect(host="10.100.0.0",u ...

  9. csv java web 导入_DAY5-step9 使用CSV模块和Pandas在Python中读取和写入CSV文件

    什么是CSV文件? CSV文件是一种纯文本文件,其使用特定的结构来排列表格数据. CSV是一种紧凑,简单且通用的数据交换通用格式. 许多在线服务允许其用户将网站中的表格数据导出到CSV文件中. CSV ...

最新文章

  1. 阿里云 centos oracle安装
  2. Android URL
  3. Raspberry Pi 4B 颜色检测
  4. python 原始字符串r的用法
  5. 不懂数据库索引原理?因为你心里没有一点B树
  6. Codeforces Round #698 (Div. 2)
  7. 设计模式之创建类模式PK
  8. SOA为什么不“香”了? | 大咖说中台
  9. java排错_java排错之CPU高
  10. MySQL锁等待分析【2】
  11. Weblogic的安装与卸载
  12. C++模板实现,支持多维,安全数组的完整代码
  13. polar函数--Matplotlib
  14. 2019年信息泄露事件汇总
  15. 2017年江苏省高等数学竞赛试题解答手稿
  16. php图标源码,FaviconICO图标制作在线制作生成PHP开源版源码
  17. 后版权时代,网易云用IPO开启进击之路
  18. Nvidia显卡重新安装解决方案
  19. Elasticsearch 实战(二、简单检索)
  20. 人脸检测dlib, mtcnnx对比,FDDB测试对比

热门文章

  1. Intel8086处理器使用NASM汇编语言实现操作系统09-关于数组复制的实现/movsb/movsw/cld/std/rep
  2. 2022年考 PMP 证书到底还有没有意义?
  3. 一次关于tcpdump的使用心得
  4. B站教学 手把手教你使用YOLOV5之口罩检测项目 最全记录详解 ( 深度学习 / 目标检测 / pytorch )
  5. 又涨了?2021 年 3 月编程师一月可以赚多少?
  6. Go编程模式之error处理
  7. 又一神器,批量证件识别系统OCR,身份证识别导出EXCEL表格,居住证识别导出EXCEL表格,后期还会有社保卡识别导出EXCE表格,营业执照识别导出EXCEL表格,刚芭蕾加油!!!
  8. 浏览器主页被360劫持的解决办法
  9. 薄荷健康完成1亿元融资,品牌域名却被终端建站
  10. 【论文译文】Image Inpainting for Irregular Holes Using Partial Convolutions