将文件夹中的csv文件读入MySql数据库中的代码函数
时间: 2024-03-18 12:39:51 浏览: 61
将CSV文件读入MySQL
您可以使用Python中的pandas和mysql-connector库来实现将文件夹中的csv文件读入MySql数据库中的功能。
以下是一个示例代码函数,其中假定您已经安装了这两个库并且已经创建了一个名为testdb的数据库:
```python
import os
import pandas as pd
import mysql.connector
def csv_to_mysql(folder_path, db_name, table_name):
# Connect to MySql database
cnx = mysql.connector.connect(user='your_username', password='your_password',
host='127.0.0.1', database=db_name)
cursor = cnx.cursor()
# Get list of all csv files in folder
files = [f for f in os.listdir(folder_path) if f.endswith('.csv')]
for file in files:
# Read csv file into pandas dataframe
df = pd.read_csv(os.path.join(folder_path, file))
# Create table in MySql database
create_table_query = f"CREATE TABLE IF NOT EXISTS {table_name} (" \
f"{', '.join([f'{col} VARCHAR(255)' for col in df.columns])})"
cursor.execute(create_table_query)
# Insert data into MySql table
for row in df.itertuples():
insert_query = f"INSERT INTO {table_name} ({', '.join(df.columns)}) " \
f"VALUES ({', '.join(['%s']*len(df.columns))})"
cursor.execute(insert_query, tuple(row[1:]))
# Commit changes to MySql database
cnx.commit()
# Close MySql database connection
cursor.close()
cnx.close()
```
您可以使用此函数来读取名为data的文件夹中的所有csv文件,并将它们写入名为mytable的MySql表:
```python
csv_to_mysql(folder_path='data', db_name='testdb', table_name='mytable')
```
请注意,此代码仅用于示例目的,并且可能需要根据您的实际情况进行修改。
阅读全文