思路如下:

  1. 首先在item中写入需要构造的item
  2. 将item的key得到,构造dataframe
  3. 借助dataframe构造数据表
  4. 最后使用sql构造可以在数据库中自增长的主键

完整代码

# Define here the models for your scraped items
#
# See documentation in:
# https://docs.scrapy.org/en/latest/topics/items.htmlimport scrapyclass CompanyInfoItem(scrapy.Item):"""企业基本信息"""company_code = scrapy.Field()  # 企业代码codecompany_name = scrapy.Field()  # 企业名称company_ = scrapy.Field()  # 组织形式province_location = scrapy.Field()  # 地域if __name__ == '__main__':"""用item生成数据库"""import pandas as pdmy_item = CompanyInfoItem()df = pd.DataFrame(my_item.fields)# 连接数据库from sqlalchemy import create_enginedb_name = "test_db"  # 要保存的数据库名table_name = "my_item_table"  # 要保存的表名# engine = create_engine("mysql+pymysql://用户名:密码@127.0.0.1:3306/数据库名")engine = create_engine('mysql+pymysql://testuser:testpassword@localhost:3306/{}'.format(db_name), encoding='utf8')engine.connect()# save to databasedf.to_sql(table_name, engine, if_exists='replace', index=False)# 增加主键with engine.connect() as con:con.execute("""ALTER TABLE `{}`.`{}` \ADD COLUMN `id` INT NOT NULL AUTO_INCREMENT, \ADD PRIMARY KEY (`id`);""".format(db_name, table_name))

scrapy通过item类直接创建数据库中的数据表相关推荐

  1. 在MySql数据库中创建数据库dbjava,数据表book,字段包括bno,bname,price,count(编号、书名、单价、数量)。 利用JDBC连接数据库dbjava,实现数据表的增删 改查

    题目 1.在MySql数据库中创建数据库dbjava,数据表book,字段包括bno,bname,price,count(编号.书名.单价.数量). 2.利用JDBC连接数据库dbjava,实现数据表 ...

  2. mysql创建数据库及中英文数据表--插入数据

    目录 一.创建数据库及数据表 二.插入数据 三.中文数据表创建 一.创建数据库及数据表 1.用create database 创建school数据库: 2.进入school数据库,创建info数据表: ...

  3. mysql表的组成_数据库中的数据表由什么组成?

    在数据库中,数据表是由表名.表中的字段和表的记录三个部分组成的.在建立表之前都必须先设计它的结构,表结构描述了一个表的框架.设计表结构实际上就是定义组成一个表的字段个数,每个字段的名称.数据类型和长度 ...

  4. MySQL数据库中的数据表

    1.创建数据表 创建数据表的,使用字符串应该遵循的原则 从速度方面考虑,要选择固定的列,可以使用CHAR类型 要节省空间,使用动态的列,可以使用VARCHAR类型 要将列中的内容限制为一种选择,可以使 ...

  5. 从数据库中取出数据表,导入并生成excel

    @RequestMapping("/numericalStatement1")public void createExcel(HttpServletResponse resp) t ...

  6. django迁移数据makemigrations不创建APP中的数据表

    有一段时间没看python今天删除数据库重新建立迁移的时候 python manage.py makemigrations python manage.py migrate 发现死活不能创建app中自 ...

  7. 如何批量删除mysql的数据库_如何快速批量删除Mysql数据库中的数据表

    一个mysql数据库中,是可以同时安装几个网站程序的,在使用中,我们只需要用不同的数据库表前缀来区分就可以了.但随着我们不断调试,那么数据 库中的表,就会一天天的多起来,如一个一个的删除就很麻烦.很辛 ...

  8. MySQL批量修改数据库中的数据表名称

    1.一种使用存储过程解决,结果,总是如下提示 Expression #3 of SELECT list is not in GROUP BY clause and contains n 2.使用 CO ...

  9. oracle 表导出pdm文件,如何将数据库中已有表导入到powerDesigner生成pdm文件

    1.create new PDM: 2.select database menu; 3.click Reverse  Engineer database : 4.then choose your sc ...

最新文章

  1. AndroidStudio2.2 Preview3中NDK开发之CMake和传统 JNI在目录结构和配置文件上的区别
  2. python增删改查的框架_python的Web框架,Django的ORM,模型基础,MySQL连接配置及增删改查...
  3. 【LDA学习系列】Dirichlet分布python代码
  4. 三 虚拟机安装Deepin
  5. 如何高效的阅读Hadoop源代码?Hadoop的源代码写的怎么样?
  6. Java 中的线程安全的类
  7. Oracle 开窗函数--转
  8. 解决Surface Pro外接移动硬盘经常睡眠的问题
  9. 版人人商城V3.7.6开源解密版小程序前端+后端+安装使用视频教程
  10. 这样能收录,原理是用的凤凰新闻采集工具
  11. 如何衡量开发人员生产力的 10 个技巧
  12. 六度分离 (Floyd算法)
  13. 秀!搭建一个永久运行的个人服务器!
  14. python编码格式 兼容中文_python中文编码(汉字乱码问题解决方案)
  15. Java—初识Java与开发环境的安装
  16. 【数据分析46讲】基础篇
  17. Postman测试http请求返回415状态码的解决
  18. 分享110个PHP源码,总有一款适合您
  19. c++游戏编程(1)开发环境与工具函数
  20. Kaggle实战:电子游戏销量分析(Vedio Game Sales)

热门文章

  1. c语言运行后出现xt073,2017年北京工业大学城市交通学院894C语言与数据结构之C程序设计考研强化模拟题...
  2. python中print(chr(65))_Python语句print(chr(97))的运行结果是( )。_学小易找答案
  3. python的前端开发_Python开发【前端】:html
  4. Python数据处理 PCA/ZCA 白化(UFLDL教程:Exercise:PCA_in_2DPCA_and_Whitening)
  5. Dubbo SPI的基础Cooma微容器
  6. Windows 7如何禁止在C盘上安装软件?
  7. 自动化运维脚本语言之expect实践学习(1)
  8. 半年之殇:困扰半年的MSP430的I2C总线问题在今天解决,发文总结
  9. 【Qt】qt库结构及示例
  10. 业务、架构、技术,我们应该关注什么