根据文件名将多个CSV插入到不同的表中,可以通过以下步骤实现:
以下是一个示例的Python代码,演示了如何根据文件名将多个CSV插入到不同的表中(以MySQL为例):
import os
import csv
import mysql.connector
# 解析文件名,获取表名
def get_table_name(file_name):
# 根据文件名解析出表名的逻辑
# ...
# 创建数据库连接
conn = mysql.connector.connect(
host="localhost",
user="your_username",
password="your_password",
database="your_database"
)
# 创建游标对象
cursor = conn.cursor()
# 遍历CSV文件
csv_folder = "/path/to/csv/folder"
for file_name in os.listdir(csv_folder):
if file_name.endswith(".csv"):
# 获取表名
table_name = get_table_name(file_name)
# 读取CSV文件
with open(os.path.join(csv_folder, file_name), "r") as csv_file:
csv_reader = csv.reader(csv_file)
next(csv_reader) # 跳过标题行
# 插入数据
for row in csv_reader:
# 构建插入SQL语句
sql = f"INSERT INTO {table_name} (column1, column2, ...) VALUES (%s, %s, ...)"
values = tuple(row) # 根据CSV文件的列数调整
# 执行插入操作
cursor.execute(sql, values)
# 提交事务
conn.commit()
# 关闭游标和数据库连接
cursor.close()
conn.close()
请注意,上述代码仅为示例,需要根据实际情况进行适当修改和调整。另外,具体的表结构和插入逻辑需要根据你的业务需求进行设计和实现。
腾讯云提供了多个与数据库相关的产品和服务,例如云数据库MySQL、云数据库PostgreSQL等,你可以根据自己的需求选择相应的产品。你可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于这些产品的详细信息和使用指南。
领取专属 10元无门槛券
手把手带您无忧上云