1.写入excel:
df = pd.DataFrame(resultlist)#一个列表,列表里装的是json格式的数据
df.to_excel('data.xlsx', encoding='utf-8', startcol=0, index=False)
2.读取excel
df = pd.read_excel('data.xlsx', encoding='utf-8', usecols='A,C:H,R:AB')
3.去掉重复的行
df.drop_duplicates(subset = [name],keep='first',inplace=True)
4.列名
df= pd.read_excel('a.xlsx', encoding='utf-8')
print(df.columns)
df.groupby(['id','b']):
6.遍历
比较快的是
for tup in df.itertuples():
print(tup[0])#索引
print(tup[1])#和excel中的列一一对应
print(tup[2])
7.条件查询
df.loc[df["列名"] == "sth"]#返回符合条件的行
df.loc[df["列名"] == "sth","列名"] 单元格
这样写会返回类型,如果只要值
df.loc[df["列名"] == "sth","列名"] .values#返回的是列表
有多个条件的用&
df.loc[(df['A']=='a') & df['A']=='b') ]
8.问题1:
Index(['Unnamed: 0', 'Unnamed: 1', 'Unnamed: 2', 'Unnamed: 3'], dtype='object')
查询列名时报以上错误
原因:默认查询excel的sheet1,numbers导出excel时会增加一个sheet1,删掉即可
9.判断单元格是否为null
if tup[i] is np.nan
10:将两列合并成一列
parent_teacher_data['address'] = parent_teacher_data['country']+parent_teacher_data['province']+parent_teacher_data['city']+parent_teacher_data['county']
11:追加写入
如果是用to_excel追加比较麻烦,所以改用csv,mode='a'
df.to_csv("candidaterule.csv", encoding='utf-8',mode="a",index=None)
我是将json写入csv的,如果直接这样,每次追加写入都有一行列名