我正在尝试从包含一堆单词的文本文件中逐行读取。
我尝试使用this问题的解决方案,但我无法做到。
这就是我设置models.py
文件的方式:
from django.db import models
class words(models.Model):
wordslist = models.CharField(null='True', max_length=128)
我尝试在python manage.py shell
:
from app.models import words
WORDLIST_FILENAME = "app/words.txt"
inFile = open(WORDLIST_FILENAME, 'r')
wordlist = []
for line in inFile:
wordlist.append(line.strip().lower()) # wordlist: list of strings
words.objects.create()
这不会最终完成,我必须键盘中断。我正在使用Django 1.11
答案 0 :(得分:1)
这是一个使用words
模型将文件存储在数据库中从文件中提取行的示例,该模型应该大写。
我会将此添加到模型中,因为您可能会在将来的某个时间使用更多文件。您可以获得文件路径列表并运行for循环,将文件路径传递给此函数以完成工作。
def lines_in_file_to_db(file_path):
""" Handles reading lines from a file and saving to the Database.
:param file_path: Path to where file is located.
:type file_path: str
"""
data = []
with open(file_path) as file:
for line in file:
# do line manipulation in here...
line = line.replace('\n', '')
data.append(line)
for line in data:
words.objects.create(wordslist=line)