INSERT查询中的Python psycopg2多列

时间:2016-03-04 00:20:22

标签: python sql postgresql python-2.7 psycopg2

我想通过psycopg2执行INSERT查询,对于这个问题,我们可以简化它:

query = """ INSERT INTO %s("%s") VALUES(%s); """

当我这样做时,这很好用:

params = [AsIs(table_name), AsIs(column_name), value]    
cursor.execute(query, params)

现在,我的Pandas数据框有大约90多列,我想知道扩展上述查询的最佳方法是什么,以便能够为多列执行它。

我尝试将每个列和值一起作为单个字符串加入并传入。我还尝试创建一个包含90 + "\"%s\""的字符串,我也尝试创建一个格式字符串即。 """INSERT INTO {0} ({1}...{n}) VALUES ({n+1...n+n})""".format(...)。有一些不相关的问题阻止这些工作,但有一种更简单的方法来处理这个多列情况吗?

1 个答案:

答案 0 :(得分:1)

我不熟悉大熊猫,但你可能想要这样的东西:

export default class MessageList extends Component {
  constructor(props) {
    super(props);
  }

  render() {
    return (
      <ScrollView>
        {
          this.props.messages.map((item, index) => {
            return (
              <Text>
                { item.body }
              </Text>
              )
          })
        }
      </ScrollView>
    )
  }
}

重点是您需要分别插入列标题和值。请参阅这篇文章,以获得比我能提供的更好的解释:

Psycopg2 Insert Into Table with Placeholders