day53——Python 处理 Excel 数据

本文介绍如何使用Python进行Excel的基本操作,包括安装必要的模块、读取Excel数据、读取特定列的数据、创建新的Excel表格以及修改现有Excel数据。

(Windows 下操作) 先安装一些处理 Excel 的模块:

1 pip install xlrd        # 用于读取Excel数据
2 pip install xlwt        # 用于写入Excel数据
3 pip install xlutils     # 用于修改Excel数据

Python 读取 Excel 数据:

 1 #!/usr/bin/env python
 2 #-*- coding:utf-8 -*-
 3 
 4 import xlrd
 5 
 6 def readExcel():
 7     data = xlrd.open_workbook('1.xlsx')    # 打开一个Excel表格
 8     table = data.sheets()[0]               # 打开Excel表格的第一张表
 9     nrows = table.nrows                    # 获取每张表的行数
10     for line in range(nrows):              # 遍历每一行
11         print(table.row_values(line))      # 获取每行的值
12 
13 if __name__ == "__main__":
14     readExcel()
['姓名', '性别', '年龄']
['小明', '', 17.0]
['小红', '', 18.0]
['小李', '', 19.0]
['小张', '', 20.0]

Python 读取某一列数据:

 1 #!/usr/bin/env python
 2 #-*- coding:utf-8 -*-
 3 
 4 import xlrd
 5 
 6 def readExcel():
 7     data = xlrd.open_workbook('1.xlsx')    # 打开一个Excel表格
 8     table = data.sheets()[1]               # 打开excel表格的第一张表
 9     ncols = table.ncols                    # 获取每张表的列数
10     for col in range(ncols):               # 遍历每一列
11         print(table.col_values(col)[0])    # 获取第一列的值
12 
13 if __name__ == "__main__":
14     readExcel()

Python 创建 Excel 表:

 1 #!/usr/bin/env python
 2 #-*- coding:utf-8 -*-
 3 
 4 import xlwt
 5 
 6 excel = xlwt.Workbook()               # 创建一个Excel文件
 7 sheet1 = excel.add_sheet("sheet1")    # 添加一张表,表名为"sheet1"
 8 sheet1.write(0, 0, "Name")            # 表示在第一行第一列写入内容"Name"
 9 sheet1.write(1, 0, "John")            # 表示在第二行第一列写入内容"John"
10 sheet1.write(2, 0, "Jeny")            # 表示在第三行第一列写入内容"Jeny"
11 excel.save("1.xls")                   # 保存Excel文件,并命名为"1.xls"

Python 读取某一列数据:

 1 #!/usr/bin/env python
 2 #-*- coding:utf-8 -*-
 3 
 4 import xlrd
 5 
 6 def readExcel():
 7     data = xlrd.open_workbook('1.xlsx')    # 打开一个Excel表格
 8     table = data.sheets()[1]               # 打开excel表格的第一张表
 9     ncols = table.ncols                    # 获取每张表的列数
10     for col in range(ncols):               # 遍历每一列
11         print(table.col_values(col)[0])    # 获取第一列的值
12 
13 if __name__ == "__main__":
14     readExcel()

Python 创建 Excel 表:

 1 #!/usr/bin/env python
 2 #-*- coding:utf-8 -*-
 3 
 4 import xlwt
 5 
 6 excel = xlwt.Workbook()               # 创建一个Excel文件
 7 sheet1 = excel.add_sheet("sheet1")    # 添加一张表,表名为"sheet1"
 8 sheet1.write(0, 0, "Name")            # 表示在第一行第一列写入内容"Name"
 9 sheet1.write(1, 0, "John")            # 表示在第二行第一列写入内容"John"
10 sheet1.write(2, 0, "Jeny")            # 表示在第三行第一列写入内容"Jeny"
11 excel.save("1.xls")                   # 保存Excel文件,并命名为"1.xls"

Python 修改 Excel 数据:

 1 #!/usr/bin/env python
 2 #-*- coding:utf-8 -*-
 3 
 4 import xlrd
 5 import xlutils.copy
 6 
 7 data = xlrd.open_workbook('1.xls')    # 打开一个Excel文件
 8 excel = xlutils.copy.copy(data)       # 相当于复制Excel文件,然后在复制的文件上操作
 9 sheet1 = excel.get_sheet(0)           # 获取要修改的表(这里我修改Excel文件的第一张表)
10 sheet1.write(2, 0, 'Tom')             # 表示把第三行第一列的数据修改为'Tom'
11 excel.save('1.xls')                   # 保存Excel文件

 

转载于:https://www.cnblogs.com/yangjinbiao/p/8310119.html

### 使用Python库读取Excel文件 #### 方法一:使用 `openpyxl` 库读取 Excel 文件 为了利用 `openpyxl` 来处理 `.xlsx` 或者 `.xlsm` 格式的 Excel 文档,可以先加载整个工作簿对象。这通过调用 `load_workbook()` 函数并传递目标文件路径作为参数来实现[^1]。 ```python from openpyxl import load_workbook wb = load_workbook(filename='example.xlsx') ws = wb.active # 获取活动的工作表 for row in ws.iter_rows(values_only=True): # 遍历每一行数据 print(row) ``` 此段代码展示了如何打开名为 'example.xlsx' 的 Excel 文件,并打印其中的内容。注意这里假设只操作第一个也是默认激活的那个 sheet 页面;如果有多个 sheets,则需指定名称或索引来访问特定的一个。 #### 方法二:借助 `pandas` 处理大型 Excel 文件 对于较大规模的数据集或是希望简化流程的情况而言,Pandas 提供了一个更为便捷的方式去导入 Excel 表格中的资料。下面的例子说明了怎样创建一个新的 Excel 文件 "London_Sundays_2000.xlsx" 并保存一些测试性的信息到 Sheet1 中[^2]: ```python import pandas as pd data = {'Day': ['Sunday'], 'Year': [2000], 'City': ['London']} df = pd.DataFrame(data) with pd.ExcelWriter('London_Sundays_2000.xlsx') as writer: df.to_excel(writer, index=False, sheet_name='Sheet1') # Verify by reading back the written data into DataFrame read_df = pd.read_excel('London_Sundays_2000.xlsx', engine='openpyxl') print(read_df) ``` 这段脚本不仅能够写出新的 Excel 文件,还能再次将其读入内存以便验证写入是否成功完成。值得注意的是,在某些情况下可能需要显式指明使用的引擎为 `openpyxl` 才能正常解析现代版本的 Excel (.xlsx) 文件格式。 另外,如果要从 CSV 转换成 DataFrame 对象的话,可以直接应用如下所示的方法[^3]: ```python import pandas as pd df = pd.read_csv('Advertising.csv') print(df.head()) # 显示前几条记录用于初步查看数据结构 ``` 上述三种方式分别适用于不同场景下的需求——无论是简单的单个工作表还是复杂的多表格文档,亦或者是其他类型的平面文件转换成易于分析的形式。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值