python中常见关于Excel表格读写操作-----opnepyxl和xlrdxlwt 关注【软件测试⼩助⼿】,知识分享更全哦~
常⽤知识点:
# 创建⼀个excel表格
wb = openpyxl.Workbook()
# 给表格添加sheet名称
# 保存表格
wb.save('test_openpyxl.xlsx')
1、读取微博爬取的内容写到表格
# 获取微博热搜内容
def get_text():
list_n = ['排⾏']
list_r = ['热搜名']
url = 's.weibo/top/summary'
header = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 '
'(KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
}
response = (url=url, headers=header)
if response.status_code == 200: #判断接⼝请求是否正确
html = etree.(url, headers=header).text) # 构造XPath解析对象
hot_search_name = html.xpath('//td[@class="td-02"]/a/text()') # 热搜名字符串列表
hot_search_rank = html.xpath('//td[@class="td-01 ranktop"]/text()') # 热搜排⾏
hot_search_name_true = hot_search_name[1:] # 只取热搜排⾏,不取置顶热搜
for i in range(0, 10):
s = hot_search_rank[i] # 排⾏和热搜组合
r = hot_search_name_true[i]
list_n.append(s)
list_r.append(r)
else:
print('wrong')
return zip(list_n, list_r)
# 将微博⽂件内容到表格
def get_website_to_excel():
result = get_text() # 微博内容结果
wb = openpyxl.Workbook()
sheet = wb.active #获取初始的sheet
count = 1
for inner in result:
count += 1
python怎么读入excelwb.save('微博.xlsx') # 保存到当前⽬录下
2、读取表格内容
def get_excel_content():
# 打开⼯作簿
lw = openpyxl.load_workbook('test_openpyxl.xlsx')
# 选取表单
sheet_name = lw.active
# 获取第⼀⾏第⼀列的数据 A1
# ce = ll(row=1, column=1)
# print(ce.value)
# 按⾏读取数据去表头
print(list(ws)[1:])
for cases in list(ws)[1:]:
rank = cases[0].value
name = cases[1].value
print(rank, name)
xlrd 和 xlwt
1、读取Excel中的数据
import xlrd
import xlwt
def get_excel():
# 获取数据
data = xlrd.open_workbook('微博.xlsx')
# 获取sheet
# table = data.sheet_by_name('test') # 通过sheet名称获取数据 table = data.sheet_by_index(0) # 通过sheet索引获取数据
# 获取总⾏数
rows = ws
# 获取总列数
cols = ls
# 获取某个单元格的数据
cell_value = ll(0, 1).value
print(cell_value)
# 获取excel表格所有数据
for i in range(rows):
for j in range(cols):
ll(i, j).value)
2、写⼊内容到Excel表格中
def write_excel():
data = [['title', 'content'], ['test1', 'test2']]
# 创建excel
wb = xlwt.Workbook()
# 创建excel中的sheet
ws = wb.add_sheet('test')
for i in range(len(data)):
for j in range(len(data[i])):
ws.write(i, j, data[i][j])
# ws.write(0, 0, 'hahah')
wb.save('test.xls')
总结要点:
1、读写⽂件的时候,记得要把⽂件关掉
2、输⼊中⽂时,乱码的话,可以导⼊codes包,然后设置中⽂格式为gbk,可以看到不少乱码了。
3、writerow和writerows的区别:writerow写⼊⼀⾏数据,writerows写⼊多⾏数据,⽽且写⼊多⾏数据的类型DictWriter字典类型,writer是list类型【有不对的欢迎指出来】
4、xlrd:对xls、xlsx、xlsm⽂件进⾏读操作–读操作效率较⾼
5、xlwt:对xls⽂件进⾏写操作–写操作效率较⾼,但是不能执⾏xlsx⽂件
6、openpyxl:对xlsx、xlsm⽂件进⾏读、写操作–xlsx写操作推荐使⽤,不能写xls⽂件
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论