Excel中的时间通常是以日期和时间格式存储的,而MySQL中的时间数据类型包括DATE
、TIME
、DATETIME
和TIMESTAMP
。将Excel中的时间导入MySQL时,需要确保数据格式与MySQL中的时间数据类型兼容。
YYYY-MM-DD
。HH:MM:SS
。YYYY-MM-DD HH:MM:SS
。原因:Excel中的时间格式与MySQL中的时间数据类型不匹配。
解决方法:
YYYY-MM-DD HH:MM:SS
)。import pandas as pd
import mysql.connector
# 读取Excel文件
df = pd.read_excel('data.xlsx')
# 转换时间格式
df['时间'] = pd.to_datetime(df['时间']).dt.strftime('%Y-%m-%d %H:%M:%S')
# 连接MySQL数据库
conn = mysql.connector.connect(user='user', password='password', host='host', database='database')
cursor = conn.cursor()
# 插入数据
for index, row in df.iterrows():
query = "INSERT INTO table_name (时间) VALUES (%s)"
cursor.execute(query, (row['时间'],))
conn.commit()
cursor.close()
conn.close()
原因:Excel中的时间可能包含时区信息,而MySQL中的时间数据类型不支持时区信息。
解决方法:
TIMESTAMP
数据类型来存储时间,并设置默认时区。import pandas as pd
import mysql.connector
from datetime import timezone
# 读取Excel文件
df = pd.read_excel('data.xlsx')
# 转换时间格式并去除时区信息
df['时间'] = pd.to_datetime(df['时间']).dt.tz_localize(None).dt.strftime('%Y-%m-%d %H:%M:%S')
# 连接MySQL数据库
conn = mysql.connector.connect(user='user', password='password', host='host', database='database')
cursor = conn.cursor()
# 插入数据
for index, row in df.iterrows():
query = "INSERT INTO table_name (时间) VALUES (%s)"
cursor.execute(query, (row['时间'],))
conn.commit()
cursor.close()
conn.close()
通过以上方法,可以有效地将Excel中的时间数据导入MySQL,并解决常见的时间格式和时区问题。
领取专属 10元无门槛券
手把手带您无忧上云