我在这个网站上查看了一些问题,但找不到问题的答案:如何从多个 CSV 源文件中创建多个新表在数据库中(在我的情况下,我使用的是 PostgreSQL),其中新的数据库表列准确反映 CSV 列中的数据?
我可以很好地编写 CREATE TABLE 语法,并且可以读取 CSV 文件的行/值,但是是否已经存在检查 CSV 文件并准确确定列类型的方法?在我自己构建之前,我想检查它是否已经存在。
如果它不存在,我的想法是使用 Python、CSV 模块和 psycopg2 模块来构建一个 Python 脚本,该脚本将:
- 阅读 CSV 文件。
- 根据记录子集(10-100 行?),迭代检查每一行的每一列,以自动确定 CSV 中数据的正确列类型。因此,如果第 1 行 A 列的值为 12345(int),但 A 列第 2 行的值为 ABC(varchar),系统会根据组合自动确定它应该是 varchar(5) 格式它在前两遍中找到的数据。这个过程可以根据用户的需要进行多次,以确定可能的列类型和大小。
- 构建由 CSV 的列检查定义的 CREATE TABLE 查询。
- 执行创建表查询。
- 将数据加载到新表中。
SQL、PostgreSQL、Python 中是否已经存在这样的工具,或者我应该使用另一个应用程序来完成此操作(类似于 pgAdmin3)?