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

附录

经验分享 程序员 微信小程序 职场和发展