写一段Python代码 ,将txt文件转换成csv文件并插入到MySQL中,请使用pymysql模块
时间: 2024-05-03 18:23:08 浏览: 128
下面是一段可以将txt文件转换成csv文件并插入到MySQL中的Python代码。其中,我们使用了pandas库来实现文件转换和数据处理,以及pymysql库来实现MySQL数据库操作。
```python
import pandas as pd
import pymysql
# 数据库连接信息
db_config = {
'host': 'localhost',
'port': 3306,
'user': 'root',
'password': '123456',
'db': 'mydatabase'
}
# 读取txt文件并转换成csv文件
df = pd.read_csv('data.txt', delimiter='\t')
df.to_csv('data.csv', index=False)
# 连接数据库
conn = pymysql.connect(**db_config)
cursor = conn.cursor()
# 创建表
sql_create_table = '''
CREATE TABLE IF NOT EXISTS data (
id INT(11) NOT NULL AUTO_INCREMENT,
col1 VARCHAR(255) NOT NULL,
col2 VARCHAR(255) NOT NULL,
col3 VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
)
'''
cursor.execute(sql_create_table)
# 插入数据
sql_insert_data = '''
INSERT INTO data (col1, col2, col3) VALUES (%s, %s, %s)
'''
with open('data.csv', 'r') as f:
next(f) # 跳过csv文件的表头
for line in f:
data = line.strip().split(',') # 将csv文件中的行数据拆分成列表
cursor.execute(sql_insert_data, data)
# 提交事务并关闭连接
conn.commit()
conn.close()
```
在上面的代码中,我们首先读取了一个名为data.txt的文件,文件中的数据以制表符分隔。然后,我们使用pandas库将其转换成了一个名为data.csv的csv文件。
接着,我们使用pymysql库连接到MySQL数据库,并创建了一个名为data的数据表,其中包含三个列:id,col1,col2,col3。然后,我们从data.csv文件中读取每行数据,将其拆分成一个列表,并使用pymysql库将数据插入到MySQL数据库中。
最后,我们提交了事务并关闭了数据库连接。
阅读全文