我已经做了很多互联网搜索,找不到有用的信息..希望你能帮助我..
我希望能够使用平面文件,包含正常内容(即完整的英文句子,段落等),提取每个单词并在SQL数据库中单独存储每个单词,每行一个单词(不是'重要的是,如果有空格,但可以保留撇号等字符
然后我希望有一个带有代码的HTML页面来访问这个数据库,并一次一个字地向用户输出文本,基本上是'写'输入的文件在网页上逐字逐句显示。
这只是一个编码练习,但我很沮丧,因为我知道什么但不知道如何...我不知道从哪里开始。请注意,其中一些文件可能非常大~20,000个单词,因此任何解决方案都可能需要考虑性能因素。
TL; DR:我想将具有正常日常句子的文本文件中的单个单词提取到我可以从HTML页面检索的SQL DB中。
答案 0 :(得分:0)
简单阅读&分开练习
with open(<filename>) as f:
dd = {}
for ln in f:
wds = ln.strip().split()
for word in wds:
dd[word] = 1 # need something for value
for wkey in dd:
<insert into db>
答案 1 :(得分:0)
那么,在你开始之前,你应该只选择一种编程语言。由于您似乎是初学者,我强烈推荐Python而不是Java,但这取决于您是否需要雇主/教授等使用任何特定语言。
同样要指出的是,这也是您选择的一项非常艰巨的任务。我会尝试将其分解为适合您的部分,但我建议您在继续操作之前先从其中一个部分开始,并确保它在您尝试将其放入网络之前在本地计算机上运行。
首先,您需要使用文件中读取的内容,最好是逐行显示。类似于Java中的FileReader / BufferedReader或Python中的open(),readlines()函数的方法将执行这些操作。我还会在线查看有关您将要使用的这两种语言中的文件处理的教程。 Python one is here。PyMySQL。在开始处理真实输入文件之前,请使用测试文件或真实文件的一小部分来练习。
当您开始处理文件中的行时,我建议使用空格或任何标点符号(例如,.!?"
)上的字符串拆分函数将它们拆分为单个单词。这样,您就可以从文件中的每一行中提取单个单词。
接下来,您将要为相应的编程语言选择数据库API。我使用MySQLDB,但Python也有JDBC。在Java中有{{3}}。
您需要在某个服务器上构建数据库,最好在与HTML页面相同的服务器上,以便于连接。在开始尝试处理实际输入文件之前,您需要练习连接数据库并添加示例行。
您无法直接访问数据库 - 您需要使用像Python这样的编码语言。我从未将Java用于网页,但使用Python,您只需输出文本并告诉服务器将其显示为网页。这样就可以了:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import otherstuffhere
## Must have this header to tell browser how to handle this output
## and must be printed first
print ("Content-Type: text/html\n\n")
## Connect to database here
## Your code to display words from the database goes below here
print (myfield1)
另请注意,在输出文本时,您需要将所有HTML标记添加到普通文本输出中。例如,在打印每个单词时,您需要添加<p>
或<br>
来结束每一行,因为虽然Python print()函数会自动添加换行符,但这并不是&# 39; t转换为HTML中的换行符。例如:
print ("My word list is: <br>")
for word in dbOutputList:
print (word)
print ("<br>")
之后,真正的乐趣/哭泣开始,但你应该继续前进,然后继续前进。