如何在Python中使用Microsoft Excel打开csv文件?

7
base_path = os.path.dirname(os.path.abspath(__file__))          
_csvFilename = os.path.join(base_path, "bcForecasting.csv")
_csvFile = open (_csvFilename, 'wb')
_csvFile = csv.writer(_csvFile, quoting=csv.QUOTE_ALL)

_Header = self.makeIntoList (self.root.tss.series () [0].getAllTimes (), self.originalTimesteps + _futurePeriods)
_csvFile.writerow (_Header)

现在我想在Excel中打开已创建的bcForecasting.csv文件。如何在Python中操作?


1
我知道如何在Excel中打开csv文件,也知道如何在Python中打开csv文件,但是什么是“在Python中使用Microsoft Excel打开csv文件”?你想让Python告诉Excel(如果它没有运行,则启动它)来打开表格吗?[另外:您没有关闭文件。使用“with”语句通常是更好的选择。] - DSM
1
这有帮助吗?https://dev59.com/e3VC5IYBdhLWcg3wliKe - Paolo
你好 DSM,实际上我想让 Python 告诉 Excel(如果它没有运行)打开这个表格。实际上,我在这里关闭了文件,我没有提供完整的代码。谢谢。 - curiousguy
啊,那么链接的问题已经有了答案。win32com 模块可以使用(我自己也用它来编写 PowerPoint 脚本)。 - DSM
你好,我不知道为什么它对我来说无法打开,尽管我可以在任务管理器中看到EXCEL.exe正在运行,而且我无法删除该文件,因为它会弹出警告“文件现在可供编辑”。 - curiousguy
3个回答

8
通常在Windows上,.csv文件类型会被配置为由Excel打开。在这种情况下,您只需要执行以下操作:
from subprocess import Popen
p = Popen('filename.csv', shell=True)

如果不起作用,请尝试指定Excel应用程序的完整路径:

subprocess.Popen(r'C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE stack.csv')

2
请注意,在Excel中打开CSV文件时,可能会删除数值字段(如邮政编码)前面的0。为避免这种情况,请使用“数据 > 从文本”导入。 - Noumenon

3
你可以使用 os 库中的 'startfile' 命令。
import os
os.startfile('filename.csv')


请确保指定文件的路径或将工作目录设置为文件所在的路径。

由于正确的答案几乎是一个千年前给出的...您应该让读者知道您在回答中引用的Python版本以及为什么要使用这种方法而不是Popen变体。 - ZF007
@rajat是正确的-这个功能自Python 2.0以来就存在了,它使用Windows shell关联来启动文件(与在Windows资源管理器中双击文件具有相同的效果),并避免了使用Popen和cmd的开销/安全问题(请参见https://docs.python.org/2/library/subprocess.html#frequently-used-arguments) - Andy Lynch

0
在Mac上,使用以下方法:
import os
os.system('open filename.csv')

请确保指定文件路径或将工作目录设置为文件所在的路径。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接