|
Excel是微软出品的办公神器,大部分读者相信或多或少都用过。其自带的函数丰富,可以进行复杂的数据运算、分析以及可视化的输出。到目前为止没有出现可以望其项背的竞品,大部分竞品不是在模仿的路上,就是在失败的路上。
虽然Excel不是数据库管理系统,Excel文档也不是完全结构化的文件,但它以行列形式保存了大量的数据,也可以将其视作准数据库文件。历史上,python有许多库能够操作Excel,例如lsxwriter、openpyxl、pandas、xlwings等,只是功能多少的问题。我们使用openpyxl库来操作excel文档。需要说明的是,由于Excel多次重大升级后,早期版本与现代版本差距明显,openpyxl只能够打开后缀为xlsx的文档。
它的安装过程如下:使用前文介绍的faker库,创建一些模拟数据,用于后续的读写操作,代码示例如下:- import random
- from faker import Faker
- from openpyxl import Workbook
- # 最高薪资(单位为K)
- maxsalary = 30
- def fakedata(maxtimes):
- # 模拟数据。人名+薪资
- fake = Faker('zh_CN')
- data_total = [[fake.name(), random.randint(0, maxsalary)]
- for x in range(maxtimes)]
- return data_total
- def create_xlsx(filename):
- fakesalary = fakedata(100)
-
- wb = Workbook()
- # 获取被激活的 worksheet
- ws = wb.active
- for info in fakesalary:
- ws.append(info)
- wb.save(filename)
- create_xlsx("d:/salary.xlsx")
复制代码 Excel文档创建后效果如下图所示:
除此之外,可以打开已经有的Excel文档,对表格、单元、行、列进行操作,相关示例代码如下:- import random
- from faker import Faker
- from openpyxl import load_workbook
- def show_sheets(filename):
- wb = load_workbook(filename)
- return wb.sheetnames
- def create_sheet(filename, name, title):
- wb = load_workbook(filename)
- ws1 = wb.create_sheet(name)
- ws1.title = title
- ws1["A1"]=8848.8848
- ws1["B2"]="hello raindrop"
- wb.save(filename)
- def ops_data(filename,sheetname):
- wb = load_workbook(filename)
- ws1 = wb.get_sheet_by_name(u"Sheet")
- # 操作单列
- for cell in ws1["A"]:
- print(cell.value)
-
- # 操作单行
- for cell in ws1["1"]:
- print(cell.value)
-
- # 操作多列
- for column in ws1['A:B']:
- for cell in column:
- print(cell.value)
- # 操作多行
- for row in ws1['1:3']:
- for cell in row:
- print(cell.value)
- # 所有行
- for row in ws1.iter_rows():
- for cell in row:
- print(cell.value)
- # 所有列
- for column in ws1.iter_cols():
- for cell in column:
- print(cell.value)
-
- excelname = 'd:/salary.xlsx'
- print(show_sheets(excelname))
- create_sheet(excelname, "demosheet", "hello excel")
- ops_data(excelname, "sheet")
复制代码 当能够随意操作Excel文档时,就完成了数据分析最基础的工作之一。
来源:https://www.cnblogs.com/shanxihualu/p/17235609.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|