选择名称以保存 .csv 文件并使用在整个 python 脚本中输入的名称
Posted
技术标签:
【中文标题】选择名称以保存 .csv 文件并使用在整个 python 脚本中输入的名称【英文标题】:Choose the name to save a .csv file and use the name entered throughout the python script 【发布时间】:2020-11-30 20:30:58 【问题描述】:每次我想使用不同的名称时,我都想使用 Python 保存一个 .csv 文件。所以我写了这段代码。除此之外,我想在保存后继续运行的脚本的其余部分中使用新名称。我怎样才能做到这一点?建议?非常感谢。
from __future__ import division
from __future__ import print_function
from bigfloat import *
from builtins import *
from decimal import*
from math import*
import numpy as np
import time
# Initialize Cantera for numerical simulation
import pandas as pd
from pandas import DataFrame
import numpy as np
import time
import cantera as ct
print("Running Cantera version: ".format(ct.__version__))
print("")
import matplotlib.pyplot as plt
plt.style.use('ggplot')
plt.style.use('seaborn-pastel')
plt.rcParams['axes.labelsize'] = 18
plt.rcParams['xtick.labelsize'] = 14
plt.rcParams['ytick.labelsize'] = 14
plt.rcParams['figure.autolayout'] = True
#################################################################
phi=1.2
Ti=900 # Kelvin
Pi=1.2 # Atm
#################################################################
# Load the kinetic mechanism for
gas = ct.Solution('tester.cti')
# Inlet gas conditions
reactorTemperature = Ti #row[5] # Kelvin
reactorPressure = Pi*ct.one_atm # in atm
gas.set_equivalence_ratio(phi, 'H2:3', 'O2:3, N2:94, N2O:0.00005')
gas.TP= reactorTemperature, reactorPressure
# Mean Molecular Weight
MR=gas.mean_molecular_weight
print('')
print('Mean molecular weight for gas declared :', float(format(MR, '.3f')))
print('')
# Reactor parameters
residenceTime = 0.21 # s
reactorVolume = 113*(1e-2)**3 # m3
# Instrument parameters
# This is the "conductance" of the pressure valve and will determine its efficiency in
# holding the reactor pressure to the desired conditions.
pressureValveCoefficient = 0.001
# This parameter will allow you to decide if the valve's conductance is acceptable. If there
# is a pressure rise in the reactor beyond this tolerance, you will get a warning
maxPressureRiseAllowed = 0.01
# Simulation termination criterion
maxSimulationTime = 5 # seconds
# Definition of reservoirs
fuelAirMixtureTank = ct.Reservoir(gas)
exhaust = ct.Reservoir(gas)
env = ct.Reservoir(gas)
# Definition of Reactor
stirredReactor = ct.IdealGasReactor(gas, energy='on', volume=reactorVolume)
# Definition of an heat wall exchange
w=ct.Wall(stirredReactor, env, A=0.0113, U=220)
# Declaration of controllers
massFlowController = ct.MassFlowController(upstream=fuelAirMixtureTank,
downstream=stirredReactor,
mdot=MR*reactorPressure*reactorVolume/ct.gas_constant/gas.T/residenceTime)
pressureRegulator = ct.Valve(upstream=stirredReactor,
downstream=exhaust,
K=pressureValveCoefficient)
# Definition of reactorNetwork solver
reactorNetwork = ct.ReactorNet([stirredReactor])
# Now compile a list of all variables for which we will store data
columnNames = [stirredReactor.component_name(item) for item in range(stirredReactor.n_vars)]
columnNames = ['pressure'] + columnNames
filename = input('filename: ')
filename = str(filename)
print(filename)
df = pd.DataFrame(filename, columns= columnNames)
df.to_csv (eval(filename))
我想将数据保存在 .csv 文件中,其中定义了 ColumnNames...我该怎么做? 最好的问候
【问题讨论】:
这缺少很多上下文,就像您想在其中使用它的脚本的其余部分一样?不知道怎么用,不知道怎么回答。 filename.to_csv("filename.csv") 是模拟脚本……但是……这是保存命令。感谢您的宝贵时间...使用输入名称保存可能会有所帮助 【参考方案1】:如果您使用的是 pandas,您可以通过这种方式保存为 csv:
df.to_csv(filecsv_name + '.csv')
【讨论】:
是的,我正在使用 pandas...我会尝试...如果我想在所有脚本中使用新名称?建议?这是一个我保存模拟的文件...我是 python XD 中的菜鸟 如果您想再次使用该名称,只需使用变量filecsv_name
NameError: name 'df' is not defined
是的,您必须创建一个数据框才能将其保存为 csv。 df 只是 pandas 中数据框的标准名称。没有您的其余代码,我无能为力。也许发布另一个问题? df 只是您要转换为 csv 的变量
I have: # 使用上面的列表创建一个DataFrame filename = pd.DataFrame(columns=columnNames)....来定义df?【参考方案2】:
我不知道为什么管理员会以某种方式行事,给我反对票并阻止我提问。但是,我真的很感谢这个论坛的用处和大家的时间。正如我的问题中经常发生的那样,如果我找到解决方案,我也会发布它。此外,我尝试询问我们个人和每个人(尤其是每个人)都有的事情。也就是说,我发布了解决方案。
请记住,定义 columnNames 是为了指定标题和数据。
print(' Save time history data for time dependent profile as filename)')
print('-------------------------------------------------------- ')
filename = input('filename: ')
filename = str(filename)
print(filename)
df=filename
df=pd.DataFrame(columns=columnNames)
df.to_csv(filename+ '.csv')
感谢大家,一如既往地感谢***
【讨论】:
以上是关于选择名称以保存 .csv 文件并使用在整个 python 脚本中输入的名称的主要内容,如果未能解决你的问题,请参考以下文章