Pandas to_sql多次插入

时间:2014-07-08 14:09:30

标签: python postgresql pandas

我正在创建一个Pyhton脚本来从数据中读取度量值并将它们写入PostgreSQL数据库。 我的问题是pandas to_sql和psycopg2s copy_from为每个值创建了八个条目,我不知道问题出在哪里。 首先,我读取文件中的所有数据

all = pd.read_csv(file, encoding = "latin-1", index_col = False, usecols = [4, 5, 10, 58, 59, 61], names = ['error', 'messstelle', 'counter', 'room', 'rad', 'time'], header = 0, delimiter = '\t')

然后我必须分离不同的值并添加数据类型

counter = all[['messstelle', 'counter', 'time']]
counter['datentyp'] = 2
counter = counter.rename(columns={'counter' : 'wert'})

最后我将df中的所有值写入数据库

counter.to_sql('wert', engine, if_exists = 'append')

在这里我的问题开始了。一切正常,但是当我打开pgadmin时,每个值都被插入八次。

有人知道我做错了什么吗?我现在坐在这里几个小时,试图解决问题。但直到现在还没有成功。

我希望有人可以帮助我!感谢

更新: 输入:

    messstelle   wert              time  datentyp
0     13343366   7704  09.04.2014 07:01         2
1     13343367  12406  09.04.2014 07:01         2
2     13343369   6135  09.04.2014 07:01         2
3     13343371   2156  09.04.2014 07:02         2
4     13343372   6629  09.04.2014 07:02         2
5     13343373   5799  09.04.2014 07:02         2
6     13343375   5473  09.04.2014 07:02         2
7     13343376   6962  09.04.2014 07:02         2
8     13343377   9174  09.04.2014 07:02         2

输出:

             wert  datentyp                time
messstelle
13338865    56604         2 2014-04-09 07:06:00
13338865    56604         2 2014-04-09 07:06:00
13338865    56604         2 2014-04-09 07:06:00
13338865    56604         2 2014-04-09 07:06:00
13338865    56604         2 2014-04-09 07:06:00
13338865    56604         2 2014-04-09 07:06:00
13338865    56604         2 2014-04-09 07:06:00
13338865    56604         2 2014-04-09 07:06:00

我在这里给了你一些数据集。事实上,从文件中读取的每个值都写了八次。

0 个答案:

没有答案