第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用Postgres中CSV文件中的值更新所選行?

如何使用Postgres中CSV文件中的值更新所選行?

RISEBY 2019-10-08 10:54:36
我正在使用Postgres,并想進(jìn)行一個大型更新查詢,該查詢將從CSV文件中提取,可以說我有一個表,該表具有(id, banana, apple)。我想運行一個更新來更改香蕉而不是蘋果,每個新的香蕉及其ID都將保存在CSV文件中。我嘗試查看Postgres網(wǎng)站,但這些示例使我喪命。
查看完整描述

3 回答

?
揚帆大魚

TA貢獻(xiàn)1799條經(jīng)驗 獲得超9個贊

您可以嘗試下面用python編寫的代碼,輸入文件是要更新到表中的csv文件。每行都基于逗號進(jìn)行拆分,因此對于每行,row [0]是第一列下的值,row [1]是第二列下的值,依此類推。


    import csv

    import xlrd

    import os

    import psycopg2

    import django

    from yourapp import settings

    django.setup()

    from yourapp import models



    try:

       conn = psycopg2.connect("host=localhost dbname=prodmealsdb 

       user=postgres password=blank")

       cur = conn.cursor()


       filepath = '/path/to/your/data_to_be_updated.csv'

       ext = os.path.splitext(filepath)[-1].lower()

       if (ext == '.csv'): 

          with open(filepath) as csvfile:

          next(csvfile)

          readCSV = csv.reader(csvfile, delimiter=',')

          for row in readCSV:

              print(row[3],row[5])

              cur.execute("UPDATE your_table SET column_to_be_updated = %s where 

              id = %s", (row[5], row[3]))

              conn.commit()

          conn.close()

          cur.close()


    except (Exception, psycopg2.DatabaseError) as error:

    print(error)

    finally:

    if conn is not None:

      conn.close()


查看完整回答
反對 回復(fù) 2019-10-08
  • 3 回答
  • 0 關(guān)注
  • 627 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號