Python 读取 Excel 表格的几种方法

1.使用python 内建的open()方法读取文本

        相对路径:example/ex2.txt,文件内容如下所示:

Python 读取 Excel 表格的几种方法_第1张图片

 测试内容,路径和内容,大家可根据自己心情设置。

使用open()方法读取:

print('----使用 python自带的open() 读取文件-----')
path = r'example/ex2.txt'
frame = open(path)
print(frame.readlines())

 此时,执行结果报错如下:

 我猜测open() 方法的默认编码不支持中文读取,假如 我把TXT 文件中的汉语删除,再次执行:

success!但是如何输出汉字哪?我猜测手动指定open()方法解析文本的编码方式 ,增加 encoding='utf-8'。

   

path = r'D:\PythonTest\20200925\example\ex2.txt'
frame = open(path, encoding='utf-8')
print(frame.readlines())
frame.close()# 不用则把文件关闭

 Python 读取 Excel 表格的几种方法_第2张图片

 完美读取出来!

不加会报错:

Python 读取 Excel 表格的几种方法_第3张图片

2.使用 pandas 读取

使用 ExcelFile ,通过将 xls 或者 xlsx 路径传入,生成一个实例。

import pandas as pd

xlsx = pd.ExcelFile(r'example/ex1.xlsx')
print(xlsx)
print(type(xlsx))

print(pd.read_excel(xlsx, 'Sheet1'))

 Excel 的表格内容如下:

Python 读取 Excel 表格的几种方法_第4张图片

 此时报错:

 注意:读取 后缀名为 ‘.xlsx’ 的Excel文件,需要使用附加包 'xlrd' (读取 .xls)和 ‘openpyxl’(读取 .xlsx),于是我就根据报错提示安装:

conda install xlrd

 安装结果:

Python 读取 Excel 表格的几种方法_第5张图片

 之后执行代码 依然报错:

 依然不支持读取。这时,我们再安装 ‘openpyxl’ 包:

conda install openpyxl

 此时 依然报错:

方法一:使用 engine='openpyxl' 读取 Excel文件。

import pandas as pd

# 使用 ExcelFile ,通过将 xls 或者 xlsx 路径传入,生成一个实例
xlsx = pd.ExcelFile(r'example/ex1.xlsx' , engine='openpyxl') #
print(type(xlsx))
print(xlsx)
print(type(xlsx))

此时可以正常读取文件表格,终于成功了:

Python 读取 Excel 表格的几种方法_第6张图片

法二:Package xlrd 默认安装的版本如下

Python 读取 Excel 表格的几种方法_第7张图片

 引用自 https://blog.csdn.net/weixin_44073728/article/details/111054157 来源网络,如有侵权联系删除。

更换 xlrd 的版本为 1.2.0。

Python 读取 Excel 表格的几种方法_第8张图片

执行一下代码:

import pandas as pd

# 使用 ExcelFile ,通过将 xls 或者 xlsx 路径传入,生成一个实例
xlsx = pd.ExcelFile(r'example/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 = r'D:\PythonTest\20200925\example\ex1.xlsx'
frame = pd.read_excel(path)   # 直接使用 read_excel() 方法读取
frame

Python 读取 Excel 表格的几种方法_第9张图片

你可能感兴趣的:(python,语言的学习,python,excel)