苏苏网赚论坛

 找回密码
 立即注册
查看: 619|回复: 0

Python爬虫中Excel的存储及读取方法

[复制链接]
跳转到指定楼层
楼主
发表于 2019-6-11 13:45:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先判断是否有目录,有就打开,没有就新建
import os
if os.path.exists('D:\Python\代码\数据爬取'):
os.chdir('D:\Python\代码\数据爬取')
else:
os.mkdir('D:\Python\代码\数据爬取')
os.chdir('D:\Python\代码\数据爬取')
1.用xlwt写入excel
import xlwt
#1新建一个工作簿
workbook=xlwt.Workbook()
#2新建一个工作表
sheet1=workbook.add_sheet('sheet1')
#写入内容,sheet.write(i,j,value)
sheet1.write(0,0,0)
sheet1.write(0,2,'hello')
#写入九九乘法表
for i in range(1,10):
for j in range(1,i+1):
a="%dx%d=%d"%(j,i,i*j)
sheet1.write(i,j-1,a)
#3保存工作簿
workbook.save('newExcel.xls')
2.用xlrd读取excel
import xlrd
# 打开工作簿
workbook = xlrd.open_workbook('newExcel.xlsx')
# 获取第一张表(三种方法)
sheet_one = sheets[0]
#sheet_one1 = workbook.sheet_by_name('产品类别')
#sheet_one2 = workbook.sheet_by_index(0)
# 获取总行数和总列数
nrows = sheet_one.nrows # 行
ncols = sheet_one.ncols # 列
print(nrows, ncols)
# 按行读取数据
for i in range(nrows):
myRowValues = sheet_one.row_values(i)
print(myRowValues)
# 按列读取数据
for j in range(ncols):
myColValue = sheet_one.col_values(j)
print(myColValue)
print('-------------------')
# 获取单元格数据
# 语法:sheet_one.cell(i,j).value
# sheet_one.cell_value(i,j)
for p in range(nrows):
for q in range(ncols):
print(sheet_one.cell(p, q).value)
# 输出某一个单元格数据:
print(sheet_one.cell(6, 1).value)
3.更新excel的数据
import xlrd
from xlutils.copy import copy
wb = xlrd.open_workbook('newExcel.xls')
#复制一个文件
newwb = copy(wb)
#获取复制的工作表
sheet = newwb.get_sheet(0)
#使用write写入
sheet.write(0,2,'你好!')
#保存文件,,如果文件名已经存在,替换掉,如果不存在,则新建
newwb.save('newExcel.xls')
4.使用openpyxl简单存储数据
简单方便实用,推荐使用这个方法
from openpyxl import Workbook
wb = Workbook() #实例化一个对象,生成一个工作簿
#使用第一张表
sheet = wb.active
sheet.title='我的表格'
sheet2 = wb.create_sheet('你的表格')
#语法:按行写入
sheet.append([1,2,3,4])
sheet.append([4,5,6])
sheet2.append(['这是第二张表格'])
wb.save('new.xlsx')

河马代理IP
h
热帖推荐
回复

使用道具 举报

广告合作|最大的网赚客中文交流社区!十年老站!

GMT+8, 2024-4-25 18:29 , Processed in 0.265201 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.1 VIP版

© 2012-2022 苏苏网赚论坛 版权所有 | 10年老品牌

快速回复 返回顶部 返回列表