【发布时间】:2015-06-30 08:41:18
【问题描述】:
我有一个 csv 文件,例如 - order_id,name,address
当我尝试通过 python 将数据从 csv 插入到 postgresql 表时,它没有正确读取数字。
例如让数据成为
order_id | name | address
----------+--------+----------
5432548543| Manish | Dummy Address
它像 5.43E+9 一样读取 order_id 而不是整数。我的代码是这样的:
filename.encode('utf-8')
with open(filename) as file:
data = csv.DictReader(file)
cur.executemany("""Insert into temp_unicom values(%(Order Id)s,%(Name)s,%(Address)s)""", data)
这里的订单 ID、名称、地址是我的 csv 文件的标题。
如何正确格式化数据?
编辑::
链接到csv文件CSV File
【问题讨论】:
-
也许数字被正确读取,而您只是以科学形式显示它? order_id 列是什么类型的?
-
是varchar类型。因为很多订单id也包含字母。
-
数字在 csv 文件中看起来正确吗?
-
如果您使用一个包含单个条目的数据文件(比如您给出的示例) - 这有问题吗?您的 csv 看起来像我在答案中发布的那个吗?只是想弄清楚这是数据方面的问题,还是 postgres 方面的问题。
-
大多数看起来,但有些不。当我扩展列宽时,它们会正确显示。
标签: python postgresql csv psycopg2