python如何实现 从 图片中的 时间 到 完整时间格式 最好的附上代码运行成功的图片
import datetime
a = [10100,108,12.2,12.32,17,208,17,308,17,408,17,508,17,608,17,708,17,808,14.2,14.32,17,908,17]
td = datetime.date.today()
y = td.year
m = td.month
d = td.day
hh = 0
mm = 0
ans = []
for i in range(len(a)):
v = a[i]
if v // 10000 > 0:
m = v // 10000
v %= 10000
if v // 100 > 0:
d = v // 100
v %= 100
hh = ('0' + str(int(v)))[-2:]
mm = '00' if a[i] - int(a[i]) == 0 else (str(a[i]).split('.')[1] + '00')[:2]
tm = '{}-{}-{} {}:{}'.format(y,m,d,hh,mm)
ans.append([tm,a[i]])
print('时间:{},转换成完整时间格式:{}'.format(a[i],tm))
参考GPT和自己的思路:你可以使用 Pandas 模块来读取 excel 数据,并将时间数据格式化为完整时间格式,然后再将结果写回 excel 文件。以下是示例代码:
import pandas as pd
# 读取 excel 文件
df = pd.read_excel('your_excel_file.xlsx')
# 初始化日期变量
date = None
# 遍历 excel 表格
for i, row in df.iterrows():
# 读取时间列数据
time_data = row['B']
# 如果时间列数据是整数,则表示日期发生变化,需要更新日期变量
if isinstance(time_data, int):
date = row['A']
# 将时间列数据转换为完整时间格式
time_str = str(time_data)
hour = int(time_str[:-2])
minute = int(time_str[-2:])
time = f"{hour:02d}:{minute:02d}"
datetime_str = f"{date} {time}"
# 将完整时间格式写回 excel 文件
df.at[i, 'A'] = datetime_str
# 将修改后的数据写回 excel 文件
df.to_excel('your_excel_file.xlsx', index=False)
以下答案由GPT-3.5大模型与博主波罗歌共同编写:
在图片中提取时间信息,一般需要先进行图片识别,然后使用OCR技术提取文字信息,最后通过时间格式解析实现从图片中的时间到完整时间格式的转换。
以下是一个Python示例代码,使用tesseract
库实现图像识别,然后使用dateutil
库实现时间解析。
pip install Pillow pytesseract python-dateutil
import pytesseract
from PIL import Image
from dateutil import parser
# 将图片中的时间信息识别为字符串
def recognize_text(image):
text = pytesseract.image_to_string(image,lang='eng')
return text.strip()
# 解析字符串中的时间信息
def parse_time(text):
time = parser.parse(text,fuzzy=True)
return time
# 打开图片文件
image = Image.open('time.png')
# 识别图片中的时间信息
text = recognize_text(image)
print('原始时间:',text)
# 解析时间字符串
time = parse_time(text)
print('完整时间:',time.strftime('%Y-%m-%d %H:%M:%S'))
原始时间: 12:34 PM
完整时间: 2021-07-21 12:34:00
如上海展示的,输入的图片为:
![time.png](https://i/
不知道你这个问题是否已经解决, 如果还没有解决的话: