在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') ##保存到表格中
至此 你就完成了通过索引对表格进行精确筛选了
4.取某一列
df['A'].to_list()