pandas读取
注:xlrd那些只能读取xls,不能读取xlsx,所以采用pandas
excel_path = 'D:/***.xlsx'
df1 = np.array(pd.read_excel(excel_path, sheet_name='同义积极词', index_col=0, header=4))
df2 = np.array(pd.read_excel(excel_path, sheet_name='同义消极词', index=None, header=None))
1. 其中,header设置首行是否视为内容,None或者数字。数字代表第4行为header(从0开始计数)
2. index_col代表第几列作为索引,使用时:pd读出来index可以查看所有的索引名字。
2. 空值可以用np.isnan来判断,但是有内容的地方np.isnan会报错, 一般是str的话加个isinstance来判断。补充:算了,正常的数有时候也是float,nan也是float,麻烦,直接
str(value)=='nan'来判断吧
3. np.array处理中文也没啥问题的
df = np.array(pd.read_excel(excel_path, header=0, usecols="A,E:F"))
4. usecols是用的列,E:F 两列都算在里边,闭区间
pandas保存excel
## writer = pd.ExcelWriter("excel 样例.xlsx")
## data = pd.DataFrame(
## {"col1":[1, 2, 3],
## "col2":[4, 5, 6],
## "col3":[7, 8, 9]
## }
## )
## 注:col1 col2 col3是header信息,后边存list成dict就可以了
writer = pd.ExcelWriter(path)
data = pd.DataFrame(od)
data.to_excel(writer, sheet_name="Sheet1", index=False)
# data.to_excel(writer, sheet_name="Sheet2", index=False)
# data.to_excel(writer, sheet_name="Sheet3", index=False)
# writer.save()
writer.close()
每个列表的情况相差很多,想读取对应的列
1 读取
2 df.loc[:,['列名','列名','列名']] # 出来的就是按顺序排列的df了
再concate一下
pd.concat(dflist, axis=0) # 上下拼接,还有merge,可以把列不同的dfs拼在一起