我是 pgAdmin 和 Azure 数据库的新手。我有一个包含大约 220 列的巨大 csv 文件,我想在 pgAdmin4 中创建一个表以将其推送到 Azure。
但是我不知道如何自动检测列的类型。
这是一个例子:
IDI GKID S01Q01 S02Q01_Gender ...
100093 enq030059569748fc89091fdd91cc337cac44eca90 Yes, I agree Female ...
我正在编写脚本来创建表格。但是,考虑到列的数量,我想自动化它以获取允许我将 csv 添加到 Microsoft Azure 的 pgAdmin4 中的数据库的脚本。
然后,在转置 csv 标头后,我得到:
IDI
GKID
S01Q01
S02Q01_Gender
...
我正在编写脚本来创建表格。但是,考虑到列的数量,在最好的情况下,我希望自动检测列的类型以便能够将其写入正确的部分,在最坏的情况下,放置 TEXT 类型的泛型类型。
到目前为止,我已经尝试过
output = ""
file_name = "columns.txt"
string_to_add = " TINYTEXT,"
with open(file_name, 'r') as f:
file_lines = [''.join([x.strip(), string_to_add, '\n']) for x in f.readlines()]
with open(file_name, 'w') as f:
f.writelines(file_lines)
它给了我:
IDI TINYTEXT,
GKID TINYTEXT,
S01Q01 TINYTEXT,
S02Q01_Gender TINYTEXT,
...
然后,我可以这样做:
CREATE TABLE my_table (
IDI TINYTEXT,
GKID TINYTEXT,
S01Q01 TINYTEXT,
S02Q01_Gender TINYTEXT,
...
但我不确定这是否足以使表格能够接收我的 csv 文件。