python——pandas

一些很雜的筆記和實現的功能

#_*_ 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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章