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

CSV文件中日期字段显示为浮点数的问题求助

解决CSV中时间字段被Excel识别为浮点数的问题

先明确:你的Python代码写入的CSV文件本身是完全正确的,那些时间字符串都完整保存了。问题出在Excel自动将类似YYYY/MM/DD HH:MM格式的内容识别为日期时间类型,然后转成了浮点数(Excel里日期时间本质是从1900年1月1日开始计算的天数浮点数)。

下面是几种解决方法:

方法1:给时间字符串加单引号前缀,强制Excel识别为文本

修改写入逻辑,给Time Start和Time End的内容前加一个单引号(这个单引号在Excel中会隐藏,仅作为文本标记):

csv_columns = ['Event ID', 'Time Start', 'Time End']
csv_file = "ets_results.csv"
try:
    with open(csv_file, 'w', newline='') as csvfile:
        writer = csv.DictWriter(csvfile, fieldnames=csv_columns)
        writer.writeheader()
        for data in results: 
            processed_data = {
                key: f"'{value}" if key in ['Time Start', 'Time End'] else value
                for key, value in data.items()
            }
            writer.writerow(processed_data)
except IOError:
    print("I/O error")

方法2:用pandas写入,指定列类型为字符串

如果可以使用pandas库,代码更简洁,还能直接锁定列类型避免Excel自动解析:
先安装pandas:

pip install pandas

然后编写代码:

import pandas as pd

results = [
    {'Event ID': 15, 'Time Start': '2022/05/04 17:75', 'Time End': '2022/05/04 18:00'},
    {'Event ID': 15, 'Time Start': '2022/05/04 18:00', 'Time End': '2022/05/04 20:50'},
    {'Event ID': 0, 'Time Start': '2022/05/06 16:50', 'Time End': '2022/05/06 17:00'},
    {'Event ID': 4, 'Time Start': '2022/05/09 15:00', 'Time End': '2022/05/09 15:50'},
    {'Event ID': 14, 'Time Start': '2022/06/13 07:75', 'Time End': '2022/06/13 08:00'},
    {'Event ID': 4, 'Time Start': '2022/06/15 09:00', 'Time End': '2022/06/15 10:50'},
    {'Event ID': 14, 'Time Start': '2022/06/16 02:75', 'Time End': '2022/06/16 03:00'}
]

df = pd.DataFrame(results)
# 将时间列设为字符串类型
df[['Time Start', 'Time End']] = df[['Time Start', 'Time End']].astype(str)
# 写入CSV,设置quoting确保字符串被正确处理
df.to_csv('ets_results.csv', index=False, quoting=1)

方法3:手动调整Excel单元格格式

如果不想修改代码,也可以在Excel中手动修正:

  1. 打开CSV文件后,选中所有时间列
  2. 右键选择「设置单元格格式」
  3. 在弹出窗口中选择「文本」格式,点击确定,浮点数就会还原为原来的时间字符串

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 03:18:16