Django读取txt文件并保存到数据库中

1、Models内容:

#模型
class Article(models.Model):
    article_id = models.AutoField(primary_key=True)

    title = models.TextField()

    brief_content = models.TextField()

    content = models.TextField()

    publish_date = models.DateTimeField(auto_now=True)

    def __str__(self):
        return self.title

2、项目结构

3、读取txt文件列表并将内容保存到数据库中

#!/usr/bin/python
# -*-encoding=utf8 -*-


import os
import django

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'article_blog.settings')
django.setup()

from blog.models import Article

#txt的文件路径;
data_path = '../data/article'


def main():
    content_list = []
    #通过文件路径获取文件清单列表
    files = os.listdir(data_path)
    for name in files:
        #循环读取文件内容;
        f = os.path.join(data_path, name)
        with open(f, 'r', encoding='utf-8') as f:
            content = f.read()
            item = (name[:-4], content[:100], content)
            #文件
            content_list.append(item)

    #将文件内容保存到数据库中;
    for item in content_list:
        print('saving article: %s' % item[0])
        article = Article()
        article.title = item[0]
        article.brief_content = item[1]
        article.content = item[2]
        article.save()


if __name__ == '__main__':
    main()

 

要将XLS文件保存数据库,可以按照以下步骤进行操作: 1. 首先需要安装 xlrd 库,它可以读取 Excel 文件。可以在命令行输入以下命令进行安装: ``` pip install xlrd ``` 2. 在 Django 项目创建一个模型,用于存储 Excel 文件的内容。可以使用二进制字段(BinaryField)来存储文件内容。 ```python from django.db import models class ExcelFile(models.Model): file = models.BinaryField() ``` 3. 创建一个视图,用于处理上传文件的请求。在视图,可以使用 xlrd 库读取 Excel 文件的内容,并将其存储到数据库。 ```python import xlrd from django.shortcuts import render from .models import ExcelFile def upload_file(request): if request.method == 'POST': file = request.FILES['file'] excel = xlrd.open_workbook(file_contents=file.read()) sheet = excel.sheet_by_index(0) rows = [] for i in range(sheet.nrows): rows.append(sheet.row_values(i)) excel_file = ExcelFile(file=file.read()) excel_file.save() return render(request, 'success.html', {'rows': rows}) return render(request, 'upload.html') ``` 在这个视图,首先从请求对象获取上传的文件,然后使用 xlrd 库打开 Excel 文件读取其内容。将读取到的内容存储到一个列表,最后将文件内容保存数据库。 4. 创建一个 HTML 模板,用于上传 Excel 文件。可以使用 Django 的表单组件来实现上传文件的功能。 ```html {% extends 'base.html' %} {% block content %} <h1>Upload Excel File</h1> <form method="post" enctype="multipart/form-data"> {% csrf_token %} <input type="file" name="file"> <button type="submit">Upload</button> </form> {% endblock %} ``` 在模板,使用表单组件来实现上传文件的功能。在表单,需要设置 enctype 属性为 multipart/form-data,这样才能上传二进制文件
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值