首页 > 解决方案 > 如何从 CSV 文件制作 Mysql 数据库

问题描述

我想制作数据库,因为我的所有数据都是 CSV 格式的。有 160 列和 15 行。由于列更多,因此手动编写名称非常困难,我想这样做就像从 csv 文件中获取列名并将其存储在我这样做的变量中。我的列名现在在一个变量中。但我无法将这些值分配给数据库列。

def parseCSV(filePath):
      # CVS Column Names
      data = pd.read_csv(filePath)
      column = data.columns
      # Use Pandas to parse the CSV file
      csvData = pd.read_csv(filePath,names=column, header=None)
      # Loop through the Rows
    #   for i,row in csvData.iterrows():
    #          sql = "INSERT INTO addresses (first_name, last_name, address, street, state, zip) VALUES (%s, %s, %s, %s, %s, %s)"
    #          value = (row['first_name'],row['last_name'],row['address'],row['street'],row['state'],str(row['zip']))
    #          mycursor.execute(sql, value, if_exists='append')
    #          mydb.commit()
    #          print(i,row['first_name'],row['last_name'],row['address'],row['street'],row['state'],row['zip'])

我评论那些硬编码的行。我希望这个列名来自 CSV,而不是手动添加。

标签: pythonpython-3.xpandasmachine-learningdata-science

解决方案


您可以使用 df.to_sql 将数据框直接保存为 sql 表,如下所示:

def parseCSV(filePath):
      data = pd.read_csv(filePath)
      data.to_sql('addresses', 'yoursqlconnection')

推荐阅读