一 、读
1.导入单个Excel文件单个sheet
-
pd.read_excel()
pandas.read_excel(io,sheet_name = 0,header = 0,names = None,index_col = None,usecols = None,squeeze = False,dtype = None, ...)
header
:指定作为列名的行,默认0,即取第一行的值为列名。数据为列名行以下的数据;若数据不含列名,则设定 header = None。names
:默认为None,要使用的列名列表,如不包含标题行,应显示传递header=None
。index_col
:指定列为索引列,默认None列(0索引)用作DataFrame的行标签。usecols
:int或list,默认为None。- 如果为None则解析所有列
- 如果为int则表示要解析的最后一列
- 如果为int列表则表示要解析的列号列表
- 如果字符串则表示以逗号分隔的Excel列字母和列范围列表(例如“A:E”或“A,C,E:F”)。范围包括双方。
dtype
:列的类型名称或字典,默认为None。数据或列的数据类型。skiprows
:省略指定行数的数据,从第一行开始。
2.导入单个Excel文件多个sheet
-
pd.read_excel()
data_test = pd.read_excel('../data_daixin/需处理污谱返回无实体.xlsx',sheet_name = [0,1,2]) # 结果data_test是dict data_test[0] # 值是个dataframe data_test[1] data_test[2]
-
pd.ExcelFile()
xls_file = pd.ExcelFile('/Users/chanyanyuan/Desktop/用户管理test.xls’)
xls_file.sheet_names # 返回sheet_names名称组成的列表
data = pd.DataFrame()
# 循环取出每个sheet的数据合并成一个DataFrame
for i in sheet_names:
df = pd.read_excel('/Users/chanyanyuan/Desktop/用户管理test.xls',sheet_name =i)
data = data.append(df,sort = False)
3.导入多个excel文件
# 先把要导入的多个文件放在一个文件夹
path = "../data_daixin/夏季攻坚_臭氧名单/"
listdata = os.listdir(path)
names = locals() # 使用这个可以动态拼接变量名
for i in range(len(listdata)):
names['data_%s' % i] = pd.read_excel(path + listdata[i])
二 、写
1. 导出单个
data.to_excel('/Users/chanyanyuan/Desktop/用户管理_nico33.xlsx')
data.to_excel('/Users/chanyanyuan/Desktop/用户管理_nico33.xlsx',sheet_name = 'jiji',columns = ['用户名称','用户编号'],index = False)
**2. 导出多个 **
'''
使用ExcelWriter()可以向同一个excel的不同sheet中写入对应的表格数据,首先需要创建一个writer对象,传入的主要参数为已存在容器表格的路径及文件名称;
基于已创建的writer对象,可以利用to_excel()方法将不同的数据框及其对应的sheet名称写入该writer对象中,并在全部表格写入完成之后,使用save()方法来执行writer中内容向对应实体excel文件写入数据的过程
'''
save_path = '/root/jianguan-data-process/daixin/data_daixin/统计报表'
writer = pd.ExcelWriter(save_path)
ind_category_result.to_excel(writer,sheet_name='行业分类统计')
lable_category_result.to_excel(writer,sheet_name='应用场景分类统计')
paiwu_category_result.to_excel(writer,sheet_name='排污许可分类统计')
writer.save()
print("保存完成!")