python把txt文件转换为xls存入mysql数据库
时间: 2024-05-01 10:16:02 浏览: 93
TXT文件数据导入到mysql数据库
首先,你需要安装 `pandas` 和 `mysql-connector-python` 库。可以使用以下命令安装:
```
pip install pandas mysql-connector-python
```
接下来,你可以使用以下代码将 `.txt` 文件转换为 `.xls` 文件:
```python
import pandas as pd
# 读取文本文件
df = pd.read_csv('data.txt', sep='\t')
# 将数据写入 Excel 文件
df.to_excel('data.xls', index=False)
```
接着,你可以使用以下代码将 `.xls` 文件导入到 MySQL 数据库中:
```python
import mysql.connector
from mysql.connector import errorcode
# 建立数据库连接
cnx = mysql.connector.connect(user='username', password='password',
host='hostname',
database='database_name')
# 创建游标对象
cursor = cnx.cursor()
# 创建数据表
TABLES = {}
TABLES['table_name'] = (
"CREATE TABLE `table_name` ("
"`id` int(11) NOT NULL AUTO_INCREMENT,"
"`column1` varchar(255) NOT NULL,"
"`column2` varchar(255) NOT NULL,"
"PRIMARY KEY (`id`)"
") ENGINE=InnoDB")
# 检查数据表是否存在,不存在则创建
for table_name in TABLES:
table_description = TABLES[table_name]
try:
cursor.execute(table_description)
except mysql.connector.Error as err:
if err.errno == errorcode.ER_TABLE_EXISTS_ERROR:
print(f"Table {table_name} already exists.")
else:
print(err.msg)
# 读取 Excel 文件
df = pd.read_excel('data.xls')
# 插入数据到数据库
for row in df.itertuples():
cursor.execute(f"INSERT INTO table_name (column1, column2) VALUES ('{row.column1}', '{row.column2}')")
# 提交事务
cnx.commit()
# 关闭游标和数据库连接
cursor.close()
cnx.close()
```
以上代码中,你需要将 `username`、`password`、`hostname` 和 `database_name` 替换为你的 MySQL 数据库的实际信息。同时,你需要将 `table_name` 和 `column1`、`column2` 替换为你的数据表和实际列名。
阅读全文