当前位置: 首页>>代码示例>>Python>>正文


Python SpreadsheetData.rename方法代码示例

本文整理汇总了Python中PyFoam.Basics.SpreadsheetData.SpreadsheetData.rename方法的典型用法代码示例。如果您正苦于以下问题:Python SpreadsheetData.rename方法的具体用法?Python SpreadsheetData.rename怎么用?Python SpreadsheetData.rename使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PyFoam.Basics.SpreadsheetData.SpreadsheetData的用法示例。


在下文中一共展示了SpreadsheetData.rename方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: run

# 需要导入模块: from PyFoam.Basics.SpreadsheetData import SpreadsheetData [as 别名]
# 或者: from PyFoam.Basics.SpreadsheetData.SpreadsheetData import rename [as 别名]
    def run(self):
        dest=self.parser.getArgs()[-1]
        if path.exists(dest) and not self.opts.force:
            self.error("CSV-file",dest,"exists already. Use --force to overwrite")
        sources=[]
        for s in self.parser.getArgs()[0:-1]:
            if s.find("/*lastTime*/")>=0:
                front,back=s.split("/*lastTime*/",1)
                for d in glob(front):
                    lastTime=None
                    for f in listdir(d):
                        if path.exists(path.join(d,f,back)):
                            try:
                                t=float(f)
                                if lastTime:
                                    if t>float(lastTime):
                                        lastTime=f
                                else:
                                    lastTime=f
                            except ValueError:
                                pass
                    if lastTime:
                        sources.append(path.join(d,lastTime,back))
            else:
                sources.append(s)

        diffs=[None]
        if len(sources)>1:
            # find differing parts
            commonStart=1e4
            commonEnd=1e4
            for s in sources[1:]:
                a=path.abspath(sources[0])
                b=path.abspath(s)
                start=0
                end=0
                for i in range(min(len(a),len(b))):
                    start=i
                    if a[i]!=b[i]:
                        break
                commonStart=min(commonStart,start)
                for i in range(min(len(a),len(b))):
                    end=i
                    if a[-(i+1)]!=b[-(i+1)]:
                        break
                commonEnd=min(commonEnd,end)
            diffs=[]
            for s in sources:
                b=path.abspath(s)
                if commonEnd>0:
                    diffs.append(b[commonStart:-(commonEnd)])
                else:
                    diffs.append(b[commonStart:])

        names=self.names
        title=path.splitext(path.basename(sources[0]))[0]
        if self.opts.namesFromFilename:
            if not names is None:
                self.error("Names already specified as",names,". Can't calc from filename")
            names=path.splitext(path.basename(sources[0]))[0].split("_")
            title=None

        data=SpreadsheetData(names=names,
                             timeName=self.opts.time,
                             validData=self.opts.columns,
                             skip_header=self.opts.skipHeaderLines,
                             stripCharacters=self.opts.stripCharacters,
                             replaceFirstLine=self.opts.replaceFirstLine,
                             validMatchRegexp=self.opts.columnsRegexp,
                             title=title,
                             **self.dataFormatOptions(sources[0]))
        rawData=[deepcopy(data)]
        self.printColumns(sources[0],data)
        self.recalcColumns(data)
        self.rawAddColumns(data)

        if self.opts.time==None:
            self.opts.time=data.timeName()

        if not diffs[0] is None:
            data.rename(lambda c:diffs[0]+" "+c)

        for i,s in enumerate(sources[1:]):
            names=None
            title=path.splitext(path.basename(s))[0]
            if self.opts.namesFromFilename:
                names=title.split("_")
                title=None
            sData=SpreadsheetData(names=names,
                                  skip_header=self.opts.skipHeaderLines,
                                  stripCharacters=self.opts.stripCharacters,
                                  replaceFirstLine=self.opts.replaceFirstLine,
                                  timeName=self.opts.time,
                                  validData=self.opts.columns,
                                  validMatchRegexp=self.opts.columnsRegexp,
                                  title=title,
                                  **self.dataFormatOptions(s))
            rawData.append(sData)
            self.printColumns(s,sData)
            self.recalcColumns(sData)
#.........这里部分代码省略.........
开发者ID:Unofficial-Extend-Project-Mirror,项目名称:openfoam-extend-Breeder-other-scripting-PyFoam,代码行数:103,代码来源:ConvertToCSV.py

示例2: run

# 需要导入模块: from PyFoam.Basics.SpreadsheetData import SpreadsheetData [as 别名]
# 或者: from PyFoam.Basics.SpreadsheetData.SpreadsheetData import rename [as 别名]
    def run(self):
        dest=self.parser.getArgs()[-1]
        if path.exists(dest) and not self.opts.force:
            self.error("CSV-file",dest,"exists already. Use --force to overwrite")
        sources=[]
        for s in self.parser.getArgs()[0:-1]:
            if s.find("/*lastTime*/")>=0:
                front,back=s.split("/*lastTime*/",1)
                for d in glob(front):
                    lastTime=None
                    for f in listdir(d):
                        if path.exists(path.join(d,f,back)):
                            try:
                                t=float(f)
                                if lastTime:
                                    if t>float(lastTime):
                                        lastTime=f
                                else:
                                    lastTime=f
                            except ValueError:
                                pass
                    if lastTime:
                        sources.append(path.join(d,lastTime,back))
            else:
                sources.append(s)

        diffs=[None]
        if len(sources)>1:
            # find differing parts
            commonStart=1e4
            commonEnd=1e4
            for s in sources[1:]:
                a=path.abspath(sources[0])
                b=path.abspath(s)
                start=0
                end=0
                for i in range(min(len(a),len(b))):
                    start=i
                    if a[i]!=b[i]:
                        break
                commonStart=min(commonStart,start)
                for i in range(min(len(a),len(b))):
                    end=i
                    if a[-(i+1)]!=b[-(i+1)]:
                        break
                commonEnd=min(commonEnd,end)
            diffs=[]
            for s in sources:
                b=path.abspath(s)
                if commonEnd>0:
                    diffs.append(b[commonStart:-(commonEnd)])
                else:
                    diffs.append(b[commonStart:])

        names=None
        title=path.splitext(path.basename(sources[0]))[0]
        if self.opts.namesFromFilename:
            names=path.splitext(path.basename(sources[0]))[0].split("_")
            title=None

        data=SpreadsheetData(names=names,
                             timeName=self.opts.time,
                             validData=self.opts.columns,
                             validMatchRegexp=self.opts.columnsRegexp,
                             title=title,
                             **self.dataFormatOptions(sources[0]))
        rawData=[deepcopy(data)]
        self.printColumns(sources[0],data)
        self.recalcColumns(data)
        self.rawAddColumns(data)

        if self.opts.time==None:
            self.opts.time=data.timeName()

        if not diffs[0] is None:
            data.rename(lambda c:diffs[0]+" "+c)

        for i,s in enumerate(sources[1:]):
            names=None
            title=path.splitext(path.basename(s))[0]
            if self.opts.namesFromFilename:
                names=title.split("_")
                title=None
            sData=SpreadsheetData(names=names,
                                  timeName=self.opts.time,
                                  validData=self.opts.columns,
                                  validMatchRegexp=self.opts.columnsRegexp,
                                  title=title,
                                  **self.dataFormatOptions(s))
            rawData.append(sData)
            self.printColumns(s,sData)
            self.recalcColumns(sData)
            self.rawAddColumns(sData)

            if self.opts.addTimes:
                data.addTimes(time=self.opts.time,
                               times=sData.data[self.opts.time],
                               interpolate=self.opts.interpolateNewTime)
            for n in sData.names():
                if n!=self.opts.time and (self.opts.columns==[] or data.validName(n,self.opts.columns,True)):
#.........这里部分代码省略.........
开发者ID:mortbauer,项目名称:openfoam-extend-Breeder-other-scripting-PyFoam,代码行数:103,代码来源:ConvertToCSV.py


注:本文中的PyFoam.Basics.SpreadsheetData.SpreadsheetData.rename方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。