相关疑难解决方法(0)

使用脚本语言即时数据库

我有一组我想要处理的.csv文件.使用SQL查询处理它会容易得多.我想知道是否有某种方法可以加载.csv文件并使用SQL语言来使用像python或ruby这样的脚本语言来查看它.使用类似于ActiveRecord的东西加载它会很棒.

问题是我不想在运行脚本之前在某处运行数据库.我不需要在脚本语言和一些模块之外进行额外的安装.

我的问题是我应该使用哪种语言和哪些模块来完成这项任务.我环顾四周,找不到任何适合我需要的东西.它甚至可能吗?

python sql database sqlite sqlalchemy

24
推荐指数
1
解决办法
9439
查看次数

sqlalchemy动态映射

我有以下问题:

我上课了:


class Word(object):

    def __init__(self):
        self.id = None
        self.columns = {}

    def __str__(self):
        return "(%s, %s)" % (str(self.id), str(self.columns))
Run Code Online (Sandbox Code Playgroud)

self.columns是一个dict,它将保存(columnName:columnValue)值.列的名称在运行时是已知的,例如,它们被加载到wordColumns列表中


wordColumns = ['english', 'korean', 'romanian']
Run Code Online (Sandbox Code Playgroud)

wordTable = Table('word', metadata,
                  Column('id', Integer, primary_key = True)
                  )
for columnName in wordColumns:
    wordTable.append_column(Column(columnName, String(255), nullable = False))
Run Code Online (Sandbox Code Playgroud)

我甚至创建了一个显式映射器属性来"强制"表格列映射到word.columns [columnName],而不是word.columnName,我没有得到任何映射错误,但它似乎不起作用.


mapperProperties = {}
for column in wordColumns:
    mapperProperties['columns[\'%']' % column] = wordTable.columns[column]

mapper(Word, wordTable, mapperProperties)
Run Code Online (Sandbox Code Playgroud)

当我加载一个单词对象时,SQLAlchemy创建一个具有word.columns ['english'],word.columns ['korean']等属性的对象,而不是将它们加载到word.columns dict中.因此,对于每个列,它会创建一个新属性.而且word.columns字典甚至不存在.

同样,当我尝试坚持一个单词时,SQLAlchemy希望在名为word.columns ['english'](字符串类型)的属性中找到列值,而不是字典word.columns.

我不得不说我对Python和SQLAlchemy的经验非常有限,也许我不可能做我想做的事情.

任何帮助,赞赏,

提前致谢.

python sqlalchemy

12
推荐指数
1
解决办法
1万
查看次数

标签 统计

python ×2

sqlalchemy ×2

database ×1

sql ×1

sqlite ×1