gpt4 book ai didi

python - Pandas.read_excel 保存后使用旧数据

转载 作者:行者123 更新时间:2023-12-03 21:27:52 27 4
gpt4 key购买 nike

我有一个冗长的 python 代码与使用 pandas 的 excel 接口(interface)。我的代码打开文件,运行一些 VBA 来更新工作表中的表,保存文件,然后将该表读取到 python 中的数据框。一切运行顺利,除了数据框包含文件打开时的数据,而不是执行更改和保存之后的数据。这显然是一个问题,我已经在第二台计算机上复制了它。它们都运行 Windows 10、Office 2013、Python 3.5.2 和 Pandas 0.18.1。关于如何强制 Pandas 在打开(保存)文件中使用当前数据的任何想法?提前致谢!

这是我运行的一个重复问题的简单测试:

  • 在一个新的 Excel 文件(在整个测试过程中保持打开状态)中,在 Sheet1 上,我从 A1 开始向下列出数字 1 到 26,从 B1 向下列出大写字母 A 到 Z,小写 m 除外。
  • 我将此文件作为“Test.xlsx”保存到外部驱动器“I:”上。
  • 我写了一个简单的python代码:
    import pandas as pd

    fpth = r'I:\Test.xlsx'
    df = pd.read_excel(fpth,"Sheet1")
    print(df)

    返回:
         1  A
    0 2 B
    1 3 C
    2 4 D
    3 5 E
    4 6 F
    5 7 G
    6 8 H
    7 9 I
    8 10 J
    9 11 K
    10 12 L
    11 13 m
    12 14 N
    13 15 O
    14 16 P
    15 17 Q
    16 18 R
    17 19 S
    18 20 T
    19 21 U
    20 22 V
    21 23 W
    22 24 X
    23 25 Y
    24 26 Z
  • 手动将小写 m 更改为大写。
  • 保存工作簿。
  • 再次运行python代码。

  • 它返回旧数据框,带有小写 m,而不是我更新和保存的版本。

    最佳答案

    这个简单的解决方法对我有好处。有时我对大文件也有同样的问题——不一致。 (windows 10,office365,定期更新,本地C盘)。

  • 在 Excel 中保存文件后,使用 Windows 文件资源管理器将文件复制到不同的名称,例如“Test - Copy.xlsx”
  • 在python中,打开副本
  • import pandas as pd

    fpth = r'I:\Test - Copy.xlsx'
    df = pd.read_excel(fpth,"Sheet1")
    print(df)
    不是一个很好的解决方案,但您的问题和 5 年前的类似问题没有得到解答,所以我希望这对某人有所帮助。

    关于python - Pandas.read_excel 保存后使用旧数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46715449/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com