在pandas處理表格的時候經常會遇到有點複雜的處理表格操作,這時候又不能用pd.write_to_csv()來寫入表格,那麼就得考慮用索引來挑選、處理數據寫入新的表格了。
1.讀取表格
import pandas as pd
df=pd.read_csv('data.csv')
2.找到符合要求的索引列表
index_list=df[df['A']=='風速'].index.tolist()
這裏是尋找列名爲A的,值爲風速的索引,並將索引值轉換爲列表進行遍歷,這是爲了方便後續通過索引號對數據進行處理。
3.寫入表格
如果是精確篩選的話,可以選擇下面的方式進行篩選:
import xlwt
f = xlwt.Workbook()
k=1 ##這裏的k表示的是excel中的行,表示在第幾行寫入
sheet = f.add_sheet("DATA")# 創建一個工作表
###這裏是每一列都代表了什麼
rowTitle = ['A1', 'B1', 'C1','D1','E1','F1','G1','H1','I1']
##這裏是開始創建建立表格的橫向標題
for i in range(0, len(rowTitle)):
sheet.write(0, i, rowTitle[i])
for index1 in sorted(index_list): ##對上面的索引列表進行遍歷,通過符合要求的索引來得到數據寫入新表中
print(index1)
sheet.write(k, 0, str(df.at[index1, 'A']))
#例子:df.at[3,'time'],取行索引爲3,列索引爲time的數值
sheet.write(k, 1, str(df.at[index1, 'B']))
sheet.write(k, 2, str(df.at[index1, 'C']))
#上面一行表示在第k行第2列將df所代表的表格中行索引爲3,列索引爲time的數值寫入到新表格中
f.save('new_data.csv') ##保存到表格中
至此 你就完成了通過索引對錶格進行精確篩選了