叶小贤 发表于 2020-6-28 15:00:11

关于openpyxl模块文件保存问题...

本帖最后由 叶小贤 于 2020-6-28 17:31 编辑

这里我创建成功
file_name ="新笔趣阁更新数据("+datetime.datetime.now().strftime('%Y-%m-%d')+").xlsx"
self.wb.save('F:\Spider_Demo\Spider_Test1\\'+file_name)

但是到了保存数据的时候出了问题,数据完全没保存,请问是哪里写错了?
self.wb.save('F:\Spider_Demo\Spider_Test1\\'+self.file_name)



发现问题是因为:
self.wb.save('F:\Spider_Demo\Spider_Test1\xxx.xlsx')#这样写是没问题的

file_name ="xxx.xlsx"
self.wb.save('F:\Spider_Demo\Spider_Test1'+os.sep+file_name)#用路径拼对象的方法创建以后数据就没办法保存

代码如下:
import scrapy
from Spider_Test1.Spider_Test.items import SpiderTest1Item
import json
from openpyxl import Workbook,load_workbook#新建,读取
import datetime

class New_BQG(scrapy.Spider):

    name = 'NewBQG'
    allowed_domains = ['xbiquge.la']
    start_urls = [
    'http://www.xbiquge.la/fenlei/1_1.html'#玄幻更新列表
    #'http://www.xbiquge.la/fenlei/2_1.html',#修真更新列表
    #'http://www.xbiquge.la/fenlei/3_1.html',#都市更新列表
    #'http://www.xbiquge.la/fenlei/4_1.html',#穿越更新列表
    #'http://www.xbiquge.la/fenlei/5_1.html',#网游更新列表
    #'http://www.xbiquge.la/fenlei/6_1.html',#科幻更新列表
    ]

    def __init__(self):
      #self.wb = load_workbook('F:\Spider_Demo\Spider_Test1\新笔趣阁_修真更新.xlsx')
      #self.sheet = self.wb['Sheet']

      self.wb = Workbook()# 创建一个工作表
      self.sheet = self.wb.active# 操作sheet页
      self.sheet.title = "玄幻小说更新列表"
      self.sheet['A1'] = '书名'
      self.sheet['B1'] = '最新章节'
      self.sheet['C1'] = '更新日期'
      self.sheet['D1'] = '作者'
      self.sheet['E1'] = '更新章节链接'

      s2 = self.wb.create_sheet('修真小说更新列表')
      s2['A1'] = '书名'
      s2['B1'] = '最新章节'
      s2['C1'] = '更新日期'
      s2['D1'] = '作者'
      s2['E1'] = '更新章节链接'

      s3 = self.wb.create_sheet('都市小说更新列表')
      s3['A1'] = '书名'
      s3['B1'] = '最新章节'
      s3['C1'] = '更新日期'
      s3['D1'] = '作者'
      s3['E1'] = '更新章节链接'

      s4 = self.wb.create_sheet('穿越小说更新列表')
      s4['A1'] = '书名'
      s4['B1'] = '最新章节'
      s4['C1'] = '更新日期'
      s4['D1'] = '作者'
      s4['E1'] = '更新章节链接'

      s5 = self.wb.create_sheet('网游小说更新列表')
      s5['A1'] = '书名'
      s5['B1'] = '最新章节'
      s5['C1'] = '更新日期'
      s5['D1'] = '作者'
      s5['E1'] = '更新章节链接'

      s6 = self.wb.create_sheet('科幻小说更新列表')
      s6['A1'] = '书名'
      s6['B1'] = '最新章节'
      s6['C1'] = '更新日期'
      s6['D1'] = '作者'
      s6['E1'] = '更新章节链接'

      file_name ="新笔趣阁更新数据("+datetime.datetime.now().strftime('%Y-%m-%d')+").xlsx"
      self.wb.save('F:\Spider_Demo\Spider_Test1\\'+file_name)




    def parse(self, response):
      res1= response.css(".l ul li span *::text").extract()
      url = response.xpath("//div[@class='l']/ul/li/span[@class='s3']/a/@href").extract()


      ru = 2
      for u in url:
            url_u = 'http://www.xbiquge.la/'+u
            self.sheet.cell(row=ru, column=5, value=url_u)
            self.wb.save('F:\Spider_Demo\Spider_Test1\\'+self.file_name)
            if ru <= len(url):
                ru += 1

      for i in res1:
            if i == '《' or i == '》':
                res1.remove(i)
      r = 2
      for each in range(0, len(res1), 4):
            c = 1
            for v in res1:
                self.sheet.cell(row=r, column=c, value=v)
                self.wb.save('F:\Spider_Demo\Spider_Test1\\'+self.file_name)
                if c <= 4:
                  c += 1
            if r <= 31:
                r += 1
      self.wb.close()





yhhpf 发表于 2020-6-28 15:09:30

咋看着好像没问题0.0
有报错么?

叶小贤 发表于 2020-6-28 15:12:33

yhhpf 发表于 2020-6-28 15:09
咋看着好像没问题0.0
有报错么?

没报错 生成了 xlsx 但是里面没数据。。。

叶小贤 发表于 2020-6-28 15:16:02

yhhpf 发表于 2020-6-28 15:09
咋看着好像没问题0.0
有报错么?

self.wb.save('F:\Spider_Demo\Spider_Test1\新笔趣阁更新数据.xlsx')我改成这样就没问题 。。。为什么

yhhpf 发表于 2020-6-28 16:16:17

叶小贤 发表于 2020-6-28 15:16
self.wb.save('F:\Spider_Demo\Spider_Test1\新笔趣阁更新数据.xlsx')我改成这样就没问题 。。。为什么

前面__init__下的没问题,后面
def parse(self, response)
你哪里来的response呢??

叶小贤 发表于 2020-6-28 17:28:39

yhhpf 发表于 2020-6-28 16:16
前面__init__下的没问题,后面
def parse(self, response)
你哪里来的response呢??

scrapy框架 ,接收的 start_urls = [
    'http://www.xbiquge.la/fenlei/1_1.html'#玄幻更新列表
    #'http://www.xbiquge.la/fenlei/2_1.html',#修真更新列表
    #'http://www.xbiquge.la/fenlei/3_1.html',#都市更新列表
    #'http://www.xbiquge.la/fenlei/4_1.html',#穿越更新列表
    #'http://www.xbiquge.la/fenlei/5_1.html',#网游更新列表
    #'http://www.xbiquge.la/fenlei/6_1.html',#科幻更新列表
    ]

yhhpf 发表于 2020-6-28 17:43:52

叶小贤 发表于 2020-6-28 17:28
scrapy框架 ,接收的 start_urls = [
    'http://www.xbiquge.la/fenlei/1_1.html'#玄幻更新列表
   ...

哪里传递过去了???

叶小贤 发表于 2020-6-29 10:44:48

yhhpf 发表于 2020-6-28 17:43
哪里传递过去了???

start_urls 这个对象是固定的 只要你写这个名字 就能传过去
页: [1]
查看完整版本: 关于openpyxl模块文件保存问题...