使用Python将多个制表符分隔的文本文件插入MySQL?

时间:2010-10-14 01:03:17

标签: python mysql

我对Python程序设计和程序设计都很陌生。

我正在尝试创建一个程序,该程序需要一些标签分层文本文件,并通过它们一次一个地输入它们保存到MySQL数据库中的数据。有几个文本文件,如movies.txt,如下所示:

1   Avatar
3   Iron Man
3   Star Trek

和actors.txt看起来相同等。每个文本文件都有一百个条目,每个条目都有一个id和相应的值,如上所示。我在这个网站和其他网站上找到了一些代码示例,但我无法理解如何在这种情况下实现它们。

到目前为止,我的代码看起来像这样......

import MySQLdb

database_connection = MySQLdb.connect(host='localhost', user='root', passwd='')

cursor = database_connection.cursor()

cursor.execute('CREATE DATABASE library')

cursor.execute('USE library')

cursor.execute('''CREATE TABLE popularity (
                    PersonNumber INT,
                    Category VARCHAR(25),
                    Value VARCHAR(60),
                    )
                    ''')

def data_entry(categories):

每当我尝试获取其他代码时,我发现使用它我只是完全迷失了。希望有人可以通过向我展示我需要做的事情或指向更多信息的方向来帮助我。

非常感谢任何帮助。

由于

我一直试图适应我的情况的代码示例是:

import MySQLdb, csv, sys
conn = MySQLdb.connect (host = "localhost",user = "usr", passwd = "pass",db = "databasename")
c = conn.cursor()
csv_data=csv.reader(file("a.txt"))
for row in csv_data:
print row
c.execute("INSERT INTO a (first, last) VALUES (%s, %s), row")
c.commit()
c.close()

Python File Read + Write

1 个答案:

答案 0 :(得分:1)

MySQL可以使用mysqlimport实用程序或执行LOAD DATA INFILE SQL命令直接读取TSV文件。这比在python中处理文件并插入文件要快,但您可能想学习如何做到这两点。祝你好运!