Python 读取 Excel 表格的几种方法
1.使用python 内建的open()方法读取文本
相对路径:example/ex2.txt,文件内容如下所示:
测试内容,路径和内容,大家可根据自己心情设置。
使用open()方法读取:
print(----使用 python自带的open() 读取文件-----) path = rexample/ex2.txt frame = open(path) print(frame.readlines())
此时,执行结果报错如下:
我猜测open() 方法的默认编码不支持中文读取,假如 我把TXT 文件中的汉语删除,再次执行:
success!但是如何输出汉字哪?我猜测手动指定open()方法解析文本的编码方式 ,增加 encoding=utf-8。
path = rD:PythonTest20200925exampleex2.txt frame = open(path, encoding=utf-8) print(frame.readlines()) frame.close()# 不用则把文件关闭
完美读取出来!
不加会报错:
2.使用 pandas 读取
使用 ExcelFile ,通过将 xls 或者 xlsx 路径传入,生成一个实例。
import pandas as pd xlsx = pd.ExcelFile(rexample/ex1.xlsx) print(xlsx) print(type(xlsx)) print(pd.read_excel(xlsx, Sheet1))
Excel 的表格内容如下:
此时报错:
注意:读取 后缀名为 ‘.xlsx’ 的Excel文件,需要使用附加包 xlrd (读取 .xls)和 ‘openpyxl’(读取 .xlsx),于是我就根据报错提示安装:
conda install xlrd
安装结果:
之后执行代码 依然报错:
依然不支持读取。这时,我们再安装 ‘openpyxl’ 包:
conda install openpyxl
此时 依然报错:
方法一:使用 engine=openpyxl 读取 Excel文件。
import pandas as pd # 使用 ExcelFile ,通过将 xls 或者 xlsx 路径传入,生成一个实例 xlsx = pd.ExcelFile(rexample/ex1.xlsx , engine=openpyxl) # print(type(xlsx)) print(xlsx) print(type(xlsx))
此时可以正常读取文件表格,终于成功了:
法二:Package xlrd 默认安装的版本如下
更换 xlrd 的版本为 1.2.0。
执行一下代码:
import pandas as pd # 使用 ExcelFile ,通过将 xls 或者 xlsx 路径传入,生成一个实例 xlsx = pd.ExcelFile(rexample/ex1.xlsx) # print(type(xlsx)) print(xlsx) print(type(xlsx))
成功读取Excel 表格。
3.使用 pandas读取的简单方法
经过上一步的麻烦设置,我们不在理睬这2个包,开始尽情的使用python操作Excel表格。
直接使用 read_excel() 读取表格。
code如下,方便copy
import pandas as pd path = rD:PythonTest20200925exampleex1.xlsx frame = pd.read_excel(path) # 直接使用 read_excel() 方法读取 frame
