【问题标题】:Pandas Dataframe and excel datetime challenges with messy accounting data带有凌乱会计数据的 Pandas Dataframe 和 excel 日期时间挑战
【发布时间】:2020-03-26 16:50:10
【问题描述】:

我经常处理凌乱的会计数据,这些数据通常在 excel 文件中。当我使用以下内容将 excel 文件加载到数据框中时,我将 00:00:00 添加到末尾。我想保留会计师创建的原始日期格式,以便我可以提取它,但是当日期格式如下时,我无法将日期提取为字符串。有人可以解释这种固定的行为以及如何防止它吗?

xls = pd.ExcelFile('GLQ1.xlsx')
df = pd.read_excel(xls, 'JNS512051', header=None, skiprows=8)
df.head()

0   01002-0 Bank-Current    NaN     NaN     NaN     NaN     NaN     NaN     NaN
1   NaN     NaN     NaN     NaN     Opening Balance Sep 30/18   NaN     NaN     666034
2   2018-10-01 00:00:00     CR  CR8729  CR8729  Fast Cash Receipts  3868.61     -   NaN
3   2018-10-01 00:00:00     CR  CR8732  CR8732  Fast Cash Receipts  13348.4     -   NaN
4   2018-10-02 00:00:00     CR  CR8733  CR8733  Fast Cash Receipts  9671.88     -   NaN

【问题讨论】:

  • 这看起来实际上是正常的日期时间格式,年/月/日/小时/分钟/秒,但在 excel 中它只有年/月/日。您希望将其恢复为年/月/日格式吗?

标签: python excel pandas dataframe accounting


【解决方案1】:

在导入 xlsx 文件时,您可以轻松地阻止 pandas 解释可能的数据类型并保持原样。您可以使用pd.read_excel() 函数中的dtypes 参数来实现这一点,如下所示:

df = pd.read_excel(xls, 'JNS512051', header=None, skiprows=8, dtypes=object)

【讨论】:

    猜你喜欢
    • 2017-02-01
    • 1970-01-01
    • 2019-01-19
    • 1970-01-01
    • 2015-09-17
    • 2022-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多