如何用python创建excel表格

Python0219

如何用python创建excel表格,第1张

可以安装xlsxwriter库

看简例:

import xlsxwriter

# 创建新表格

workbook = xlsxwriter.Workbook('test.xlsx')

worksheet = workbook.add_worksheet()

# 表格的内容

expenses = (

    ['Rent', 1000],

    ['Gas',   100],

    ['Food',  300],

    ['Gym',    50],

)

# 想象表格的布局,坐标 0,0 对应 A,1

row = 0

col = 0

# 填充每个单元格

for item, cost in (expenses):

    worksheet.write(row, col,     item)

    worksheet.write(row, col + 1, cost)

    row += 1

workbook.close()

Python对于Excel的操作是多种多样的,掌握了相关用法就可以随心所欲的操作数据了! 操作xls文件 xlrd(读操作): import xlrd 1、引入xlrd模块 workbook=xlrd.open_workbook("36.xls") 2、打开[36.xls]文件,获取excel文件的workbook(工作簿)对象 names=workbook.sheet_names() 3、获取所有sheet的名字 worksheet=workbook.sheet_by_index(0) 4、通过sheet索引获得sheet对象 worksheet为excel表第一个sheet表的实例化对象 worksheet=workbook.sheet_by_name("各省市") 5、通过sheet名获得sheet对象 worksheet为excel表sheet名为【各省市】的实例化对象 nrows=worksheet.nrows 6、获取该表的总行数 ncols=worksheet.ncols 7、获取该表的总列数 row_data=worksheet.row_values(n) 8、获取该表第n行的内容 col_data=worksheet.col_values(n) 9、获取该表第n列的内容 cell_value=worksheet.cell_value(i,j) 10、获取该表第i行第j列的单元格内容 xlwt(写操作): import xlwt 1、引入xlwt模块 book=xlwt.Workbook(encoding="utf-8") 2、创建一个Workbook对象,相当于创建了一个Excel文件 sheet = book.add_sheet('test') 3、创建一个sheet对象,一个sheet对象对应Excel文件中的一张表格。 sheet.write(i, j, '各省市') 4、向sheet表的第i行第j列,写入'各省市' book.save('Data\\36.xls') 5、保存为Data目录下【36.xls】文件 操作xlsx文件 openpyxl(读操作): import openpyxl 1、引入openpyxl模块 workbook=openpyxl.load_workbook("36.xlsx") 2、打开[36.xlsx]文件,获取excel文件的workbook(工作簿)对象 names=workbook.sheetnames worksheet=workbook.worksheets[0] worksheet=workbook["各省市"] ws = workbook.active 6、获取当前活跃的worksheet,默认就是第一个worksheet nrows=worksheet.max_row 7、获取该表的总行数 ncols=worksheet.max_column 8、获取该表的总列数 content_A1= worksheet['A1'].value 9、获取该表A1单元格的内容 content_A1=worksheet.cell(row=1,column=1).value 10、获取该表第1列第1列的内容 openpyxl(写操作): workbook=openpyxl.Workbook()worksheet = workbook.active 3、获取当前活跃的worksheet,默认就是第一个worksheet worksheet.title="test" 4、worksheet的名称设置为"test" worksheet = workbook.create_sheet() 5、创建一个新的sheet表,默认插在工作簿末尾 worksheet.cell(i,j,'空') 6、第i行第j列的值改成'空' worksheet["B2"]="空" 7、将B2的值改成'空' worksheet.insert_cols(1) 8、在第一列之前插入一列 worksheet.append(["新增","台湾省"]) 9、添加行 workbook.save("Data\\36.xlsx") 10、保存为Data目录下【36.xlsx】文件 pandas处理excel文件 pandas操作: import pandas as pd 1、引入pandas模块 data = pd.read_excel('36.xls') 2、读取[36.xls]或者[36.xlsx]文件 data = pd.read_csv('36.csv') 3、读取[36.csv]文件 data=data.dropna(subset=['店铺']) 4、过滤掉data店铺列有缺失的数据 data.sort_values("客户网名", inplace=True) 5、将data数据按照客户网名列进行从小到大排序 data = pd.read_csv(36.csv, skiprows = [0,1,2],sep = None, skipfooter = 4) 6、读取[36.csv]文件,前三行和后四行的数据略过 data = data.fillna('空') 7、将data中的空白处填充成'空' data.drop_duplicates('订单','first',inplace=True) 8、data中的数据,按照【订单】列做去重处理,保留第一条数据 data=pd.DataFrame(data,columns=['订单','仓库']) 9、只保留data中【订单】【仓库】列的数据 data = data[(data[u'展现量'] >0)] 10、只保留【展现量】列中大于0的数据 data= data[data["订单"].str.contains('000')] 11、只保留【订单】列中包含'000'的数据 data= data[data["仓库"]=='正品仓'] 12、只保留【仓库】列是'正品仓'的数据 xs= data[data["店铺"]=='南极人']['销售额'] 13、获取店铺是南极人的销售额数据 data['订单'] = data['订单'].str[3:7] 14、【订单】列的值只保留4-8个字节的值 data["邮资"] = np.where((data['店铺'].str.contains('T|t')) &-(data['仓库'] == '代发仓'), 8, data['邮资']) 15、满足店铺列包含 T 或 t 并且仓库不等于'代发仓'的话,将邮资的值改成8,否则值不变 data = np.array(data).tolist() 16、将data从DataFrame转换成列表 data=pd.DataFrame(data) 17、将列表转换成DataFrame格式 zhan = data[u'展现'].sum().round(2) 18、将data中所有展现列数据求和,并取两位小数 sum=data.groupby(['店铺'])['刷单'].sum() 19、将data中按照店铺对刷单进行求和 counts=data['店铺'].value_counts() 20、将data按照店铺进行计算 avg=data.groupby(['店铺'])['刷单'].mean() 21、将data按照店铺对刷单进行求平均数 count = pd.concat([counts,sum], axis=1, ignore_index=True, sort=True) 22、将counts和sum两个DataFrame进行了组合 count=count.rename(index=str, columns={0: "订单", 1: "成本"}) 23、将新生成的DataFrame列名进行修改 data = pd.merge(sum, counts, how='left', left_on='店铺', right_on='店铺') 24、将列表转换成DataFrame格式 from openpyxl import Workbook  wb=Workbook()   ws1=wb.active  data.to_excel('36.xlsx')  wb.close() 25、data完整的写入到关闭过程,执行此操作的时候【36.xlsx】不能是打开状态 excel格式操作 样式处理: 1、打开【36.xlsx】 sheet=workbook.worksheets[0] 2、将第一个sheet对象赋值给sheet sheet.column_dimensions['A'].width = 20.0 3、将A列的宽度设置为20 sheet.row_dismensions[1].height = 20.0 4、将第一行的行高设置为20 sheet.merge_cells('A1:A2') 5、将sheet表A1和A2单元格合并 sheet.unmerge_cells('A1:A2') 6、将sheet表A1和A2单元格取消合并 sheet.insert_rows(2,2) 7、将sheet表从第2行插入2行 sheet.insert_cols(3,2) 8、将sheet表从第3列插入2列 sheet.delete_rows(2) 9、删除第2行 sheet.delete_cols(3, 2) 10、将sheet表从第3列开始删除2列 from openpyxl.styles import Font, Border, PatternFill, colors, Alignment 11、分别引入字体、边框、图案填充、颜色、对齐方式 sheet.cell(i,j).font = Font(name='Times New Roman', size=14, bold=True, color=colors.WHITE) 12、设置sheet表第 i 行第 j 列的字体 sheet.cell(i,j).alignment = Alignment(horizontal='center', vertical='center') 13、设置sheet表第 i 行第 j 列的字体对齐方式 left, right, top, bottom = [Side(style='thin', color='000000')] * 4sheet.cell(i,j).border = Border(left=left, right=right, top=top, bottom=bottom) 14、引入边框样式并调用 fill = PatternFill("solid", fgColor="1874CD")sheet.cell(1,j).fill = fill 15、引入填充样式,并调用 import xlrd from openpyxl import Workbook from openpyxl import load_workbook workbook=load_workbook(filename='C:/Users/EDZ/Desktop/工作/2021.08.03/大兄弟.xlsx') sheet=workbook.active sheet.insert_cols(idx=1)sheet.merge_cells(A1:A3)sheet['A1']=['上海','山东','浙江']