从文本文件创建表

时间:2014-05-08 10:46:38

标签: python sql row

我试图使用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来分割线条:"然后是一个空间,但我尝试了不同的想法,不会工作

请询问更多信息! :)

1 个答案:

答案 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 + ']'
相关问题