You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将JSON营业时间转换为7列法式时间格式CSV/Excel表格求助

解决方案:将营业时间转换为法语格式7列表格

1. 准备环境

  • 先安装Python(官网下载即可,安装时务必勾选「Add Python to PATH」选项,避免后续运行命令报错)
  • 打开命令提示符(Windows)或终端(Mac/Linux),执行以下命令安装处理表格的工具库:
    pip install pandas
    

2. 编写转换代码

创建一个名为hours_converter.py的Python文件,复制以下带详细注释的代码:

import pandas as pd

# --------------- 处理原始数据(如果数据在CSV/Excel里,看下方补充说明)---------------
# 这里用你提供的营业时间数据
opening_hours = {
    "monday": "930-am-7-pm",
    "tuesday": "930-am-7-pm",
    "wednesday": "930-am-7-pm",
    "thursday": "930-am-7-pm",
    "friday": "930-am-7-pm",
    "saturday": "closed",
    "sunday": "closed"
}

# 定义星期的法语名称,和原始数据的顺序一一对应
weekdays_fr = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"]

# --------------- 核心转换函数:把英文格式转成法语营业时间 ---------------
def convert_to_french_time(time_str):
    if time_str == "closed":
        # 对应法语的"关闭"
        return "fermé"
    
    # 拆分时间字符串,比如"930-am-7-pm"会拆成["930", "am", "7", "pm"]
    parts = time_str.split("-")
    start_time, start_period, end_time, end_period = parts

    # 处理开始时间
    if start_period == "am":
        # 上午时间:比如930拆成9和30,转成"9h30";10-am转成"10h"
        if len(start_time) == 3:
            start_hour = start_time[:1]
            start_minute = start_time[1:]
            start_fr = f"{start_hour}h{start_minute}"
        else:
            start_fr = f"{start_time}h"
    else:
        # 下午时间转24小时制,比如1pm转成13h
        start_hour = int(start_time) + 12
        start_fr = f"{start_hour}h"

    # 处理结束时间
    if end_period == "pm":
        end_hour = int(end_time) + 12
        end_fr = f"{end_hour}h"
    else:
        end_fr = f"{end_time}h"

    # 拼接成最终法语格式
    return f"{start_fr} - {end_fr}"

# --------------- 生成转换后的列表并创建表格 ---------------
# 把所有营业时间转成法语格式
french_hours = [convert_to_french_time(opening_hours[day]) for day in opening_hours.keys()]

# 创建7列的表格数据
df = pd.DataFrame([french_hours], columns=weekdays_fr)

# 打印Markdown格式的表格(直接复制就能用)
print(df.to_markdown(index=False))

# 可选:把表格保存成Excel文件,取消下面这行的注释即可
# df.to_excel("french_opening_hours.xlsx", index=False)

3. 运行代码

  • 打开命令提示符/终端,进入保存hours_converter.py的文件夹
  • 执行以下命令:
    python hours_converter.py
    
  • 终端会直接输出Markdown格式的表格,也可以打开生成的Excel文件查看结果

针对CSV/Excel原始数据的补充说明

如果你的数据本来就存在CSV或Excel文件中(比如CSV文件的列是monday, tuesday,...sunday,第一行是营业时间),可以修改代码的「处理原始数据」部分:

  • 读取CSV文件:
    df_raw = pd.read_csv("你的文件名.csv")
    opening_hours = df_raw.iloc[0].to_dict()
    
  • 读取Excel文件:
    df_raw = pd.read_excel("你的文件名.xlsx")
    opening_hours = df_raw.iloc[0].to_dict()
    

最终输出的表格

运行代码后会得到如下Markdown表格:

LundiMardiMercrediJeudiVendrediSamediDimanche
9h30 - 19h9h30 - 19h9h30 - 19h9h30 - 19h9h30 - 19hferméfermé

内容的提问来源于stack exchange,提问作者Yogiman74

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 12:57:36