如何在脚本

时间:2016-10-21 19:20:19

标签: python xlwings

我有一个python脚本打开一个.xls文件来读取它的行并将它们存储在一个列表中,然后它会执行许多其他操作。当我尝试从Excel中调用它时:

Sub SampleCall()
    RunPython ("import sov_reformat;sov_reformat.sov_convert()")
End Sub

以下是我脚本的前几行:

# In[1]:
import xlwings as xw
import pandas as pd
import numpy as np
import csv


# In[2]:
def sov_convert():
    wb = xw.Book.caller()
    df2 = pd.read_excel("Full SOV.XLS")
    temp_df = df2

我收到错误:

错误

追踪(最近一次呼叫最后一次):

文件“”,第1行,

文件“... \ sov_reformat.py”,第70行,

sov_convert()

文件“... \ sov_reformat.py”,第14行,在sov_convert

df2 = pd.read_excel("Full SOV.XLS")

文件“C:\ Python27 \ lib \ site-packages \ pandas \ io \ excel.py”,第170行,在read_excel中

io = ExcelFile(io, engine=engine)

文件“C:\ Python27 \ lib \ site-packages \ pandas \ io \ excel.py”,第227行, init

self.book = xlrd.open_workbook(io)

文件“C:\ Python27 \ lib \ site-packages \ xlrd__init __。py”,第395行,在open_workbook中

with open(filename, "rb") as f:

IOError:[Errno 2]没有这样的文件或目录:'完整的SOV.XLS'

我认为导致此错误的行如下:

with open('rates.csv', 'rb') as f:
    reader = csv.reader(f)
    rate_combinations = list(reader)

但我不明白为什么。当我运行脚本时,它完全符合我的要求,因此我知道其他一切正常。

0 个答案:

没有答案