在使用Python处理表格时,pandas 和 openpyxl是使用最多的两个库。现在我来简单记录一下这两个库在处理Excel表格时一些常用 *** 作。
1、使用pandas *** 作excel表格(1)读取指定单元格
# 导入pandas库,简写为pd import pandas as pd # 读取表格,使用openpyxl引擎,获取表名为表1的内容 df = pd.read_excel("test.xlsx", engine="openpyxl", sheet_name="表1") # 读取指定单元格,读取第一行,第一列,即A2单元格(pandas读取表格默认不读取表头,即第一行) one_cell = df.iat[0,0] print(one_cell)
(2)读取表格指定行
# 导入pandas库,简写为pd import pandas as pd # 读取表格,使用openpyxl引擎,获取表名为表1的内容 df = pd.read_excel("test.xlsx", engine="openpyxl", sheet_name="表1") # 读取指定行,读取第一行数据,表头外的第一行(pandas读取表格默认不读取表头,即第一行) row_data = df.loc[[0]].values for cel in row_data: print(cel)
(3)读取表格指定列
# 导入pandas库,简写为pd import pandas as pd # 读取表格,使用openpyxl引擎,获取表名为表1的内容 df = pd.read_excel("test.xlsx", engine="openpyxl", sheet_name="表1") # 读取指定列,读取第一列数据,iloc(参数1,参数2),参数1:读取的行数,参数2:读取的列,两者是一个列表 col_data = df.iloc[0:,[0]] for col in col_data: print(col)2、使用openpyxl *** 作excel表格
(1)读取指定单元格
# 导入openpyxl库,方便使用简写为 vb import openpyxl as vb # 创建一个工作表和工作簿 wb = vb.load_workbook('test.xlsx') sheet = wb["Sheet1"] # 获取的表名为Sheet # 读取指定位置单元格的值,读取第一行,第一列,即A1位置单元格的值 cell_data = sheet.cell(row=1, column=1).value print(cell_data)
(2)读取表格指定行
# 导入openpyxl库,方便使用简写为 vb import openpyxl as vb # 创建一个工作表和工作簿 wb = vb.load_workbook('test.xlsx') sheet = wb["Sheet1"] # 获取的表名为Sheet # 按行获取单元格,min_col:读取表格的1,2列,min_row:从第二行开始读到第20行,所有内容 # 读取顺序是一行再一行 rows = sheet.iter_rows(min_col=1, max_col=2, min_row=2, max_row=20) # 打印读取内容 for row in rows: for cell in row: print(cell.value) # 读取指定的行,先用列表推导式生成包含每一列中所有单元格的元组的列表,再对列表取索引 one_rows = [val for val in sheet.rows][0] #获取第一行 # 打印读取内容 for cel in one_rows: print(cel.value)
(3)读取表格指定列
# 导入openpyxl库,方便使用简写为 vb import openpyxl as vb # 创建一个工作表和工作簿 wb = vb.load_workbook('test.xlsx') sheet = wb["Sheet1"] # 获取的表名为Sheet # 按列获取单元格,min_col:读取表格的1,2列,min_row:从第二行开始读到第20行,所有内容 # 读取顺序是一列再一列 cols = sheet.iter_cols(min_col=1, max_col=2, min_row=2, max_row=20) # 打印读取内容 for col in cols: for cell in col: print(cell.value) # 读取指定列,先用列表推导式生成包含每一列中所有单元格的元组的列表,再对列表取索引 one_cols = [val for val in sheet.columns][1] # 获取第二列 # 打印读取内容 for col in one_cols: print(col.value)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)