将网页表格(爬去数据转为excel)
我们在日常生活中,可能都需要将爬去的数据,保存到本地,或者将文本txt文件,复制粘贴到excel中,会出现
通过Python的xlwt模块来实现
import requests
import re
import xlwt
# 获取数据
url = 'http://lib.stat.cmu.edu/datasets/veteran' # 数据网址链接
res = requests.get(url)
# print(res.text)
# print(type(res.text))
# print('='*30)
str1 = re.sub('\D',' ',res.text) # 正则表达式
datas = str1.split()[12:] # 去除Variables部分,非数字
print(datas)
# 定义解析数据写入excel
def data_write(test_excel111, datas):
f = xlwt.Workbook(encoding='utf-8')
sheet1 = f.add_sheet(u'sheet1', cell_overwrite_ok=True) # 创建sheet
# 添加表头
# 先定义一个列表
# 我这里有8列
name_lists = ['Treatment 1=standard, 2=test', 'Celltype 1=squamous, 2=smallcell, 3=adeno, 4=large',
'Survival in days', 'Status 1=dead, 0=censored', 'Karnofsky score', 'Months from Diagnosis',
'Age in years', 'Prior therapy 0=no, 10=yes']
x = 0
y = 0
for name_list in name_lists:
sheet1.write(x, y, name_list)
y += 1
# 将数据写入第 i 行,第 j 列
i = 1
j = 0
for data in datas:
if j % 8 == 0 and j != 0:
# 8是代表有8列
i = i + 1
j = 0
sheet1.write(i,j,data)
j += 1
f.save(test_excel111) # 保存文件
data_write('./test_excel111.xls',datas)