mariadb 如何在表中插入数据,与open一起使用?

roejwanj  于 2023-03-30  发布在  其他
关注(0)|答案(1)|浏览(94)

下面是我的代码:

with open(r"filename.csv", 'r') as file:
  csvreader = csv.reader(file)
  for row in csvreader:
    print(row)

我不想print(row),而是想把forloop迭代的每一行数据写到MariaDB的表中。有没有可能不使用“INSERT INTO table VALUES x”来做到这一点,我想把每一行读到我的空表中。这个表有3,000,000条记录,所以我不能列出每一条记录。

flvtvl50

flvtvl501#

如果CSV文件中的列与表中的列顺序相同,则可以使用一个简单的INSERT查询,该查询省略了列名列表。
您可以使用executemany()一次插入许多行,以提高效率。

with open(r"filename.csv", 'r') as file:
    csvreader = csv.reader(file)
    rows = list(csvreader)

placeholders = ','.join(['%s'] * len(rows[0]))
cursor.executemany(f"INSERT INTO yourTable VALUES ({placeholders})", rows)

相关问题