我有一个冗长的python代码,使用pandas与excel连接。我的代码打开文件,运行一些更新表中的表的VBA,保存文件,然后将该表读取到python中的数据帧。一切都运行顺利,但数据框包含文件打开时的数据,而不是执行更改和保存后的数据。这显然是个问题,我在第二台计算机上复制了它。它们都运行Windows 10,Office 2013,Python 3.5.2和Pandas 0.18.1。关于如何强制Pandas在打开(保存)文件中使用当前数据的任何想法?提前谢谢!
这是我运行的一个简单的测试,它复制了问题:
我写了一个简单的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改为大写。
它返回旧的数据帧,小写m,而不是我更新和保存的版本。
答案 0 :(得分:0)
这个简单的解决方法对我很有帮助。有时候我在大文件上也有同样的问题-这是不一致的。 (Windows 10,office365,在本地C磁盘上定期更新)。
import subprocess
cmd = "/bin/sleep 600"
subprocess.Popen(cmd, shell=True,
stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
print(5)
这不是一个很好的解决方案,但是您的问题和5年前的类似问题都没有得到解答,因此希望对您有所帮助。