python--处理Excel数据

1、常见库

环境配置及可实现操作

注:DataNitro作为插件使用需依托软件本身。
参考:https://zhuanlan.zhihu.com/p/23998083

2、使用xlrd读取

可以检测是否已安装了xlrd,用import命令;没有安装的进行安装xlrd:

安装成功后,读取文件:

import xlrd  # 引入模块
# 打开文件,获取excel文件的workbook(工作簿)对象
workbook = xlrd.open_workbook("D:/360安全浏览器下载/henan.xlsx")  # 文件路径

工作簿里面可以含有多个工作表,获取“工作簿对象”后,可以接着来获取工作表对象,可以通过“索引”的方式获得,也可以通过“表名”的方式获得。

import xlrd  # 引入模块

# 打开文件,获取excel文件的workbook(工作簿)对象
# workbook = xlrd.open_workbook("D:/360安全浏览器下载/henan.xlsx")  # 文件路径
workbook = xlrd.open_workbook("D:/360安全浏览器下载/2020年度招.xls")  # 文件路径
# 获取所有sheet的名字
names = workbook.sheet_names()
print(names)  # 输出所有的表名,以列表的形式
# 通过sheet索引获得sheet对象
worksheet = workbook.sheet_by_index(0)
# 通过sheet名获得sheet对象
# worksheet = workbook.sheet_by_name("aa")
# print(worksheet)
# 由上可知,workbook.sheet_names() 返回一个list对象,可以对这个list对象进行操作
sheet0_name = workbook.sheet_names()[0]  # 通过sheet索引获取sheet名称
print('第一个sheet名称:'+sheet0_name)  # 各省市
name = worksheet.name
nrows = worksheet.nrows
ncols = worksheet.ncols
print("第一个sheet的name:"+name+",nrows:"+str(nrows)+",ncols:"+str(ncols))
for i in range(nrows):  # 循环打印每一行
    print(worksheet.row_values(i))
col_data = worksheet.col_values(0)  # 获取第一列的内容
print(col_data)
cell_value1 = worksheet.cell(1, 0).value
print(cell_value1)  # 各省市
cell_value1 = worksheet.row(1)[0].value
print(cell_value1)  # 各省市

3、写Excel

检测是否安装xlwt;如果没有安装就使用命令安装,如下图:

使用:python -m  pip list查看安装结果:

编写代码:

 创建工作簿 


# 导入xlwt模块
import xlwt
 
#创建一个Workbook对象,相当于创建了一个Excel文件
book=xlwt.Workbook(encoding="utf-8",style_compression=0)
 
'''
Workbook类初始化时有encoding和style_compression参数
encoding:设置字符编码,一般要这样设置:w = Workbook(encoding='utf-8'),就可以在excel中输出中文了。默认是ascii。
style_compression:表示是否压缩,不常用。
'''

创建完工作簿之后,可以在相应的工作簿中,创建工作表。

 
# 创建一个sheet对象,一个sheet对象对应Excel文件中的一张表格。
sheet = book.add_sheet('test01', cell_overwrite_ok=True)
# 其中的test是这张表的名字,cell_overwrite_ok,表示是否可以覆盖单元格,其实是Worksheet实例化的一个参数,默认值是False
 

# 创建一个Workbook对象,相当于创建了一个Excel文件
book = xlwt.Workbook(encoding="utf-8", style_compression=0)
# 创建一个sheet对象,一个sheet对象对应Excel文件中的一张表格。
sheet = book.add_sheet(name, cell_overwrite_ok=True)
# # 向表test中添加数据
ii = 0
for row in list_result:
    jj = 0
    for item in row:
        sheet.write(ii, jj, item)
        jj = jj + 1
    ii = ii + 1
book.save("D:/360安全浏览器下载/202筛选结果.xls")

参考:https://blog.csdn.net/sinat_28576553/article/details/81275650

https://blog.csdn.net/sinat_28576553/article/details/81275650

https://blog.csdn.net/qq_34617032/article/details/80433939

https://blog.csdn.net/charm_1981/article/details/79279806

发布了44 篇原创文章 · 获赞 9 · 访问量 8512

猜你喜欢

转载自blog.csdn.net/manmanlu2006/article/details/102563300