(一)python 文件写入mysql数据库中时间日期用到的datatime.data.strftime

1.mysql 表中的时间日期设置为data数据类型,利用sql语句创建表

#1.打开数据库管理系统软件利用sql语句创建orders数据表

use py_sql;
 
create table orders(
   order_date date,         #时间日期
   order_id varchar(255),   #订单id
   money int,               #订单费用
   province varchar(10)     #订单省份
);


 2.利用pycharm软件编写python语句读取文件中的数据插入到数据表中

import json
from pymysql import  Connection


json_date=[]
json_order_id=[]
json_money=[]
json_province=[]
data_file = open("C:/Users/47533/Desktop/2011年1月销售数据.txt", "r", encoding="UTF-8")
data_file2 = open("C:/Users/47533/Desktop/2011年2月销售数据JSON.txt", "r", encoding="UTF-8")
for line in data_file.readlines():
    data_list = line.strip()
    data_list = data_list.split(",")
    json_date.append(data_list[0])
    json_order_id.append(data_list[1])
    json_money.append(data_list[2])
    json_province.append(data_list[3])

for line in data_file2.readlines():
    line_dict = json.loads(line)
    json_date.append(line_dict["date"])
    json_order_id.append(line_dict["order_id"])
    json_money.append(line_dict["money"])
    json_province.append(line_dict["province"])
# print(json_date)
# print(json_order_id)
# print(json_money)
# print(json_province)

conn = Connection(
    host="localhost",
    password="这里输入你的数据库密码",
    user="root",
    port=3306,
    autocommit=True,
    charset='utf8'
)
conn.select_db("py_sql")
cursor=conn.cursor()

for i in range(len(json_date)):

    sql=f"insert into orders(order_date,order_id,money,province)\     values('{json_date[i]}','{json_order_id[i]}',{int(json_money[i])},'{json_province[i]}')"
    cursor.execute(sql)
result=cursor.fetchall()
print(result)

3编写程序将数据库表中的数据再以JSON格式存储到指定文件中

from pymysql import Connection
import json

f = open("C:/Users/47533/Desktop/sale.txt", "w", encoding="UTF-8")
# 构建MySQL链接对象
conn = Connection(
    host="localhost",
    port=3306,
    user="root",
    password="475336117",
    autocommit=True
)
# 获得游标对象
cursor = conn.cursor()
# 选择数据库
conn.select_db("py_sql")
# 查询
cursor.execute("SELECT * FROM orders")
result = cursor.fetchall()
sale_data_dict={"order_date":"none","order_id":"none","money":0,"province":"none"}
for r in result:
    sale_data_dict["order_date"]=r[0].strftime('%Y-%m-%d') 


"""这里需要使用datatime.data.strftime函数可将数据库表中的'datatime.data(2011,1,12)'时间日期转换为'2011-1-12'格式
"""


    sale_data_dict["order_id"]=r[1]
    sale_data_dict["money"]=r[2]
    sale_data_dict["province"]=r[3]

    f.write(str(sale_data_dict)) 

"""f.write(str(sale_data_dict))也可以使用json.dumps(sale_data_dict)以json格式写入文件中,不过应用json.dumps()方法时需注意utf-8编码会改变中文字符的输出形式 列如:"湖南省"会变成"u6e56\u5357\u7701"这种utf-8对应的字符串的形式输出
"""
    f.write("\n")


# 关闭MySQL链接对象
conn.close()
f.close()

      sale_data_dict["order_date"]=r[0].strftime('%Y-%m-%d')


     """这里需要使用datatime.data.strftime函数可将数据库表中的'datatime.data(2011,1,12)'时间日期转换为'2011-1-12'格式
     """

不使用.strtime函数时会报错,并且日期输出的格式是datatime.data(2011,1,1) 而不是 2011-1-1

 运行结果:

使用  .strftime('%Y-%m-%d')  方法时会以  “2011-1-1”  格式正常输出:

使用  .strftime('%Y-%m-%d')  方法的代码:

运行结果:

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: 要将`datetime.date`对象转换为`datetime.datetime`对象,可以使用`datetime.datetime.fromordinal()`方法,该方法接受一个从公元元年1月1日算起的天数,返回一个`datetime.datetime`对象。 因此,你可以使用以下代码来实现转换: ``` import datetime date = datetime.date(2022, 1, 1) datetime = datetime.datetime.fromordinal(date.toordinal()) ``` 这样,`datetime`变量就是一个`datetime.datetime`对象,表示2022年1月1日0时0分0秒。 如果你想保留`datetime.date`对象时间信息,也可以使用`datetime.datetime.combine()`方法: ``` import datetime date = datetime.date(2022, 1, 1) time = datetime.time(12, 0, 0) datetime = datetime.datetime.combine(date, time) ``` 这样,`datetime`变量就是一个`datetime.datetime`对象,表示2022年1月1日12时0分0秒。 ### 回答2: 使用`datetime.datetime.combine()`函数可以将`datetime.date`转换为`datatime.datetime`。这个函数需要传入一个`datetime.date`对象和一个`datetime.time`对象作为参数。由于`datetime.date`只包含日期信息,我们可以通过`datetime.time`对象指定一个默认的时间,例如`datetime.time(0, 0, 0)`表示午夜。 下面是具体的代码示例: ```python import datetime # 将datetime.date对象转换为datetime.datetime对象 date = datetime.date(2022, 1, 1) time = datetime.time(0, 0, 0) datetime_obj = datetime.datetime.combine(date, time) # 打印转换后的datetime.datetime对象 print(datetime_obj) ``` 上述代码将`2022年1月1日`表示为`datetime.date`对象`date`,然后使用`datetime.time(0, 0, 0)`创建一个午夜时间的`datetime.time`对象,最后通过`datetime.combine()`函数将这两个对象合并为一个`datetime.datetime`对象`datetime_obj`。最后打印出`datetime_obj`的值。 运行上述代码,输出结果为`2022-01-01 00:00:00`,即成功将`datetime.date`对象转换为了`datetime.datetime`对象。 ### 回答3: Pythondatetime.date对象转换为datetime.datetime对象可以使用datetime.combine()函数来实现。 datetime.combine(date, time)是一个静态方法,用于将一个日期对象和一个时间对象合并为一个完整的日期时间对象。 具体步骤如下: 1. 导入datetime模块:`import datetime` 2. 创建一个date对象:`date_obj = datetime.date(year, month, day)`,其year, month, day分别代表年、月、日。 3. 创建一个time对象:`time_obj = datetime.time(hour, minute, second, microsecond)`,其hour, minute, second, microsecond分别代表小时、分钟、秒、微秒。 4. 使用`datetime.combine()`方法将date对象和time对象合并为一个datetime对象:`datetime_obj = datetime.datetime.combine(date_obj, time_obj)` 完成以上步骤后,datetime对象会合并为一个新的datetime对象,即可得到转换后的datetime.datetime对象。 例如: ```python import datetime date_obj = datetime.date(2022, 1, 1) time_obj = datetime.time(12, 0, 0) datetime_obj = datetime.datetime.combine(date_obj, time_obj) print(datetime_obj) ``` 输出结果为: ``` 2022-01-01 12:00:00 ``` 这样我们就成功将datetime.date对象转换为了datetime.datetime对象。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

irrguask

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值