使用python在postgres中加载数据 - 读取第3行而不是第2行

时间:2017-08-25 09:01:22

标签: python postgresql

我正在尝试使用python将一些PSV文件加载到Postgres,但我的代码有问题,它跳过3行并从第4行开始。之前我找到了一个代码,我只是想让它跳过阅读标题,但它跳过3行(包括标题),代码如下:

import psycopg2
import csv

# Connect to an existing database
conn = psycopg2.connect("dbname=postgres user=postgres password=xxxx")

# Open a cursor to perform database operations
cur = conn.cursor()
file = open("/Users/jubertroldan/GNAF/AUG17_GNAF_PipeSeparatedValue_20170821153434/G-NAF/G-NAF AUGUST 2017/Standard/ACT_ADDRESS_DETAIL_psv.psv","r")

with file as f:
    next(f)
    for line in f:
        print(f.readline().count('|'))
        print(f.readline())
        cur.copy_from(f, 'ADDRESS_DETAIL', sep="|",null = '')
        conn.commit()
file.close()

下面是readline打印:你可以看到它正在计算34并读取第3行。

Juberts-MacBook:GNAF jubertroldan$ python test.py
34
GAACT714878933|2004-04-29|2017-05-09|||||||||||||||66|||||ACT571||ACT110|P|2612||CANB/CAMP/36/21/|2|710482401|7|||

查看以下数据:查看第4行的GAACT714878933。意味着我将数据摄入postgres的代码正在丢失数据。

ADDRESS_DETAIL_PID|DATE_CREATED|DATE_LAST_MODIFIED|DATE_RETIRED|BUILDING_NAME|LOT_NUMBER_PREFIX|LOT_NUMBER|LOT_NUMBER_SUFFIX|FLAT_TYPE_CODE|FLAT_NUMBER_PREFIX|FLAT_NUMBER|FLAT_NUMBER_SUFFIX|LEVEL_TYPE_CODE|LEVEL_NUMBER_PREFIX|LEVEL_NUMBER|LEVEL_NUMBER_SUFFIX|NUMBER_FIRST_PREFIX|NUMBER_FIRST|NUMBER_FIRST_SUFFIX|NUMBER_LAST_PREFIX|NUMBER_LAST|NUMBER_LAST_SUFFIX|STREET_LOCALITY_PID|LOCATION_DESCRIPTION|LOCALITY_PID|ALIAS_PRINCIPAL|POSTCODE|PRIVATE_STREET|LEGAL_PARCEL_ID|CONFIDENCE|ADDRESS_SITE_PID|LEVEL_GEOCODED_CODE|PROPERTY_PID|GNAF_PROPERTY_PID|PRIMARY_SECONDARY
GAACT714880538|2004-04-29|2017-05-09|||||||||||||||36|||||ACT561||ACT110|P|2612||CANB/CAMP/43/24/|2|710482728|7|||
GAACT714880557|2004-04-29|2017-05-09|||||||||||||||52|||||ACT571||ACT110|P|2612||CANB/CAMP/36/14/|2|710482747|7|||
GAACT714878933|2004-04-29|2017-05-09|||||||||||||||66|||||ACT571||ACT110|P|2612||CANB/CAMP/36/21/|2|710482401|7|||
GAACT714879968|2004-04-29|2017-05-09|||||||||||||||8|||||ACT3696||ACT568|P|2615||BELC/HOLT/20/15/|2|710472786|7|||
GAACT714907744|2004-04-29|2017-05-09|||||||||||||||1|||||ACT1175||ACT212|P|2600||CANB/YARR/13/21/|2|710503118|7|||
GAACT714878965|2004-04-29|2017-05-09|||||||||||||||6|||||ACT4177||ACT575|P|2617||BELC/MCKE/36/24/|2|710472422|7|||
GAACT714886162|2004-10-26|2017-05-09|||||||||||||||6|||||ACT1440||ACT218|P|2604||CANB/NARR/51/4/|2|710494529|7|||

任何想法?感谢帮助!非常感谢

亲切的问候, Jubert

0 个答案:

没有答案