我正在创建一个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
我在这里给了你一些数据集。事实上,从文件中读取的每个值都写了八次。