目录
问题
爬取豆瓣讨论小组内容的时候,将帖子的内容放在excel里
读取时出现了这个错误
UnicodeDecodeError: 'utf-16-le' codec can't decode bytes in position 364-365: unexpected end of data
解决:
我尝试把那一行删除,但是依旧没用,网上搜的方法像改编码,把文件名改成xlsw,复制到新建的xlsx也都没用,最后只能换个库了(xlrd和pandas都不可以)
openpyxl这个库不能读取.xls文件
所以你需要新建一个.xlsx文件,然后将数据复制过去
import openpyxl
# 打开 Excel 文件
workbook = openpyxl.load_workbook('Data_deal.xlsx', read_only=True)
安装openpyxl库的命令
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ openpyxl
读取成功
简单用法
先读取文件
import openpyxl
# 打开 Excel 文件
workbook = openpyxl.load_workbook('Data_deal.xlsx', read_only=True)
再选择工作表
# 工作表
worksheet = workbook.worksheets[0]
最后读取数据
iter_rows是按行读取,min_row是从第二行开始
iter_cols是按列读取
数据类型是元组存储,要取哪列直接拿就行,比如第五列,就row[4]
# 数据
for row in worksheet.iter_rows(min_row=2,values_only=True):
print(type(row))