一些很杂的笔记和实现的功能
#_*_ coding:utf-8 _*_
import numpy as np
import pandas as pd
'''
#Note
#获取en.csv中的信息
df = pd.DataFrame(pd.read_csv('en.csv',header=0))
#获取name.xlsx中的信息
df = pd.DataFrame(pd.read_excel('name.xlsx'))
#排序 对中文有些问题,英文没问题
csvcut -c 12,3,4,5,8,10,11,9 en.csv >1.csv
#读取csv中前4列,中文编码
df =pd.DataFrame(pd.read_csv('en.csv',header=0)) pd.DataFrame(pd.read_csv('cn.csv',header=0,encoding='gb2312',usecols=[1,2,3,4]))
#将df_in表中的Server IP Address列分列为'ip1','ip2','ip3','ip4'
#就是IP地址通过点分为了4列。。。
df_in= pd.DataFrame(pd.read_csv('en.csv',header=0))
df = pd.DataFrame((x.split('.') for x in df_in['Server IP Address']),index=df_in.index,columns=['ip1','ip2','ip3','ip4'])
#解决乱码问题
df = pd.DataFrame(pd.read_csv('cn.csv',error_bad_lines=False,encoding='gb2312'))
#csv转xlsx 可进行带中文csv转换
yuan = pd.read_csv('cn.csv',encoding='gb2312')
yuan.to_excel('cn.xlsx')
#导出文件
df.to_csv('1.csv',encoding='gb2312',index = False)
#输出读取的内容
print df
'''
#此程序用来将csv文件中选出需要的列,再用指定顺序排列,最后导出
#读取cn.csv表格,存储在DataFrame中;
#以gb2312进行编码;
#usecols代表使用哪些列,这个顺序不管你怎么写,他都是从小到大存储,不然就没有下一步了;
#names代表列名,header如果不加会导致有两个表头
df = pd.DataFrame(pd.read_csv('cn.csv',encoding='gb2312',usecols=[2,3,4,7,8,9,10,11],header=0,names=['服务器IP','服务器端口','客户端IP','域名','URI','告警级别','告警类型','告警发生时间']))
#对列名排序,并将顺序放在cols字段中
cols = ['告警发生时间','服务器IP','服务器端口','客户端IP','域名','告警级别','告警类型','URI']
#将csv按照cols的顺序排列
df = df.ix[:,cols]
#将排序好的内容导出至1.csv中
df.to_csv('1.csv',encoding='gb2312',index = False)