Excel中的日期通常是以序列号的形式存储的,从1900年1月1日开始计算。MySQL中的日期则是以YYYY-MM-DD
的格式存储。将Excel中的日期导入MySQL时,需要进行适当的转换。
YYYY-MM-DD
格式存储。原因:
解决方法:
YYYY-MM-DD
格式。import pandas as pd
from openpyxl.utils import get_column_letter
from datetime import datetime, timedelta
# 读取Excel文件
df = pd.read_excel('data.xlsx')
# 转换日期序列号
def excel_date_to_mysql_date(excel_date):
if pd.isna(excel_date):
return None
date = datetime(1899, 12, 30) + timedelta(days=excel_date)
return date.strftime('%Y-%m-%d')
# 假设日期在第一列
df['date_column'] = df.iloc[:, 0].apply(excel_date_to_mysql_date)
# 导入MySQL
# 这里假设你已经配置好了MySQL连接
from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://user:password@host/database')
df.to_sql('table_name', con=engine, if_exists='replace', index=False)
将Excel中的日期导入MySQL需要进行适当的转换,确保日期格式的一致性。通过编写脚本可以自动化这一过程,减少手动操作的错误。使用Pandas和SQLAlchemy等工具可以简化数据处理和数据库操作。
领取专属 10元无门槛券
手把手带您无忧上云