如何避免打开多个CSV文件?

2024-04-29 03:56:22 发布

您现在位置:Python中文网/ 问答频道 /正文

下面的代码实现PSSE(Python并行动力学仿真)。这个代码为我工作,但我想让它更好。有没有可能将所有信息链接到一个CSV文件或数据库中,以使生活更简单,而不是为各种案例研究打开许多CSV文件?你知道吗

每个Excel工作表都有以下信息:Bus #Power CHANGEisload。我试着把不同年份的数据放在另一行,但它读取的是呈现的第一组信息。我试图链接所有160个CSV文件(合并所有CSV文件)我创建了一个,我做了,但它没有运行。你知道吗

这是我的密码:

PSSE_LOCATION = r"C:\Program Files (x86)\PTI\PSSE33\PSSBIN"
sys.path.append(PSSE_LOCATION)
os.environ['PATH'] = os.environ['PATH'] + ';' + PSSE_LOCATION

import psspy
import redirect
import csv
psspy.throwPsseExceptions = True

from Tkinter import *
import tkFileDialog
import tkSimpleDialog
import tkMessageBox

def quit():
    global root
    root.quit()

root= Tk()
tkMessageBox.showinfo("Welcome", "Please select case study: ")

root.fileName = tkFileDialog.askopenfilename(filetypes=(("PSSE CASES", "*.sav"),
                                                       ("PSSE CASES", "*.sav*")))

STUDY_CASE = root.fileName

root.filename = tkFileDialog.askopenfilename(filetypes=(("CSV files", "*.csv"),
                                                        ("All files", "*.*")))

STUDY_CASE = ('C:\Users\RoszkowskiM\Documents\Base      '
              'Cases\Final\ceii_Case1_SUM_2017_5050_MMWG16PF_FINAL.sav')

LOAD_GEN_DATAFILE = 'C:\Users\RoszkowskiM\Documents\CSV Files\example2.csv'

psspy.psseinit(10000)
psspy.case(STUDY_CASE)

tkMessageBox.showinfo(
    "Welcome",
    "Please select folder with year and then select desired TLA Assignment ")
root.fileName = tkFileDialog.askopenfilename(filetypes=(("CSV FILES", "*.csv"),
                                                        ("CSV FILES", "*.csv*")))

LOAD_GEN_DATAFILE = root.fileName

# read the entire CSV into Python.
data = list(csv.reader(open(LOAD_GEN_DATAFILE)))

# assume CSV has columns as described in the doc string
for bus,change,isload in data:
    # convert the types from string to Python numbers
    change = float(change)
    bus = int(bus)

    if isload.isdigit() and int(isload):
        psspy.bsys(1,0,[0.0,0.0],0,[],1,[bus],0,[],0,[])
        psspy.scal_2(1,0,1,[0,0,0,0,0],[0.0,0.0,0.0,0.0,0.0,0.0,0.0])
        psspy.scal_2(0,1,2,[0,1,0,1,0],[change,0.0,0,-.0,0.0,-.0,0])
    else:
        exit

Tags: 文件csvimport信息locationrootfilenamechange