【问题标题】:panda read xlsx file datetime issue熊猫读取 xlsx 文件日期时间问题
【发布时间】:2023-04-04 14:10:01
【问题描述】:

我正在尝试读取一个 excel 文件并将其内容解析为 Python 字典。

from pandas import *

xls = ExcelFile('vavs.xlsx')
data = xls.parse(xls.sheet_names[0])
print(data.to_dict())

我遇到的问题是 excel 文件中的一个单元格的格式。此列代表网络和地址信息,Excel 认为这是一个时间,如11:01 AM

我尝试使用它的原因是我需要将11:01 的格式保持原样。当我在Python 中打印字典时,它会带有一个不需要的datetime.time,而我只想要一个字符串11:01

 'trunkAddress': {0: datetime.time(11, 1),
  1: datetime.time(11, 2),
  2: datetime.time(11, 3),
  3: datetime.time(11, 4),
  4: datetime.time(11, 5),
  5: datetime.time(11, 6),
  6: datetime.time(11, 16),
  7: datetime.time(11, 17),
  8: datetime.time(11, 18)},

有没有办法解决这个问题?就像将 Excel 文件转换为 csv,然后将数据读入 Python?这是一个用于测试目的的小型 excel 文件,不管它的价值如何,我的 git 帐户 here 中都有该文件。

感谢提示

【问题讨论】:

  • 你可以指定你读取的每一列的数据类型,像dtype={'trunkAdress':'str'}应该这样做
  • 你能发布一个答案吗?

标签: python excel pandas


【解决方案1】:

应该这样做:

df = pd.read_excel('your_table.xlsx', dtype={'trunkAdress':str}

【讨论】:

  • 我最终使用了data = xls.parse(xls.sheet_names[0],dtype={'trunkAdress':str})
猜你喜欢
  • 2020-09-26
  • 2018-12-07
  • 2021-02-17
  • 1970-01-01
  • 2020-08-12
  • 2021-06-17
  • 2021-10-30
  • 1970-01-01
  • 2016-07-05
相关资源
最近更新 更多