从Excel工作表中读取字符串值

时间:2017-08-21 12:51:42

标签: python python-2.7

API函数psspy.two_winding_chg_4需要输入使用单引号'',如下面的函数所示(数组的第3个元素)excel sheet 2从CSV表读取时,我收到整数错误。它让我在阅读最后一栏时遇到了问题。我知道最后一列中的字符,但我如何将digit定义为字符。
Traceback (most recent call last):
File "C:\Users\RoszkowskiM\Desktop\win4.py", line 133, in <module>
psspy.two_winding_chng_4(from_,to,'%s'%digit,[_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i],[_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f, max_value, min_value,_f,_f,_f],[])
File ".\psspy.py", line 25578, in two_winding_chng_4
TypeError: an integer is required
ValueError: invalid literal for int() with base 10: 'T1'

for row in data:
    data_location, year_link, from_, to, min_value,max_value,name2,tla_2,digit = row[5:14]
    output = 'From Bus #: {}\tTo Bus #: {}\tVMAX: {} pu\tVMIN: {} pu\t'
    if year_link == year and data_location == location and tla_2==location:
       from_=int(from_)
       to=int(to)
       min_value=float(min_value)
       max_value=float(max_value)
       digit=int(digit)
       print(output.format(from_, to, max_value, min_value))
      _i=psspy.getdefaultint()
      _f=psspy.getdefaultreal()
       psspy.two_winding_chng_4(from_,to,'%s'%digit,[_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i,_i],[_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f,_f, max_value, min_value,_f,_f,_f],[])

1 个答案:

答案 0 :(得分:0)

我不确定 psspy.two_winding_chng_4()在内部使用的是什么。

  1. 如果您可以指定正则表达式(例如r'[A-Za-z] [0-9]')以匹配最后一列。

  2. 另一个选项是将其作为字符串读取,并在以后的实例中从数据中提取详细信息。

  3. 建议使用选项1,因为它可以实现更可重用和更强大的功能。 psspy.two_winding_chng_4()功能。建议使用选项2,因为psspy似乎是第三方库。