我试图使用IMDB中的大数据集,我希望将数据从文本文件移动到SQL数据库
现在我试图在行和列中打印输出,因此更容易放入数据库。
f = open("movies.list.txt","r")
movread = f.read()
f.close()
s = raw_input('Search: ')
for ns in movread.split("\n")
if s in ns:
print(ns[0:1000])
输出:
Search: #1 Single
"#1 Single" (2006) 2006-????
"#1 Single" (2006) {Cats and Dogs (#1.4)} 2006
"#1 Single" (2006) {Finishing a Chapter (#1.5)} 2006
"#1 Single" (2006) {Is the Grass Greener? (#1.1)} 2006
"#1 Single" (2006) {Stay (#1.8)} 2006
我想要的输出是这样的:
Search: #1 Single
Title Year Sub title Year
["#1 Single"] [(2006)] [2006-????]
["#1 Single"] [(2006)] [{Cats and Dogs (#1.4)}] [2006]
["#1 Single"] [(2006)] [{Finishing a Chapter (#1.5)}] [2006]
["#1 Single"] [(2006)] [{Is the Grass Greener? (#1.1)}] [2006]
["#1 Single"] [(2006)] [{Stay (#1.8)}] [2006]
我试图这样做的原因是我只能提取文件中的标题并将其放入sql数据库。
标题是由""
我在想,也许我可以通过ex来分割线条:"然后是一个空间,但我尝试了不同的想法,不会工作
请询问更多信息! :)
答案 0 :(得分:1)
您可以单独获取每列的值,如下所示:
def get_title(x):
return x.split('"')[1]
def get_year1(x):
return x.split('(')[1].split(')')[0]
def get_subtitle(x):
try:
return x.split('{')[1].split('}')[0]
except IndexError:
return ''
def get_year2(x):
return x.split('}')[-1].strip()
然后,在循环中,获取每列的值并以所需格式打印它们。例如,对于第一个,让我们说x
:
title = get_title(x)
year1 = get_year1(x)
subtitle = get_subtitle(x)
year2 = get_year2(x)
print '[' + title + ']', '[' + year1 + ']', '[' + subtitle + ']', '[' + year2 + ']'