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

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

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

使用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()# 不用则把文件关闭

 

 完美读取出来!

不加会报错:

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 的表格内容如下:

 此时报错:

 注意:读取 后缀名为 ‘.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(r'example/ex1.xlsx' , engine='openpyxl') #
print(type(xlsx))
print(xlsx)
print(type(xlsx))

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

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

 引用自 pandas无法打开.xlsx文件,xlrd.biffh.XLRDError: Excel xlsx file; not supported_氦合氢离子的博客-CSDN博客 来源网络,如有侵权联系删除。

更换 xlrd 的版本为 1.2.0。

执行一下代码:

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 表格的几种方法