如何只输出在代码中完成的计算成一个csv文件python?



所以我正在编写一个代码,我从csv文件中获取值,并将它们与一些数字相乘,但是当我保存和导出结果时,从导入文件中的值也与结果一起复制到新文件中。我只需要输出文件中的结果。

df = pd.read_csv('DAQ4.csv')  

df['furnace_power'] = df['furnace_voltage']*df['furnace_current']*0.52         #calculating the furnace power
df['heat_pump_power'] = (df['pump_current']*230)*0.62   
with open('DAQsol.csv', 'w', newline='') as f:
thewriter = csv.writer(f)
df.to_csv('DAQsol.csv') 

这不是完整的代码,但应该足以理解。所以基本上我只希望热泵功率和炉功率出现在输出文件中,而不是从导入的DAQ 4文件中显示整个泵的电流和电压。

df['furnace_power'] = df['furnace_voltage']*df['furnace_current']*0.52         #calculating the furnace power
df['heat_pump_power'] = (df['pump_current']*230)*0.62

这两行只是修改您加载的数据框。这意味着所有其他列仍然存在,只是没有被修改。通过调用df.to_csv('DAQsol.csv'),您将保存整个数据框,包括不需要的和未修改的列。

不将这些列导出到输出.csv文件的一种方法是将它们删除。这可以通过以下代码实现:

df.drop(columns=['unwanted_column_1', 'unwanted_column_two'])

创建一个空的数据框架,然后用新的计算填充它:

df = pd.read_csv('DAQ4.csv')
df2 = pd.DataFrame()
df2['furnace_power'] = df['furnace_voltage']*df['furnace_current']*0.52         #calculating the furnace power
df2['heat_pump_power'] = (df['pump_current']*230)*0.62   
df2.to_csv('DAQsol.csv')

你好,这里你有一个例子读取和保存在一个不同的文件后,一些计算:

from os import sep
import pandas as pd
#reading the csv file as dataframe
df= pd.read_csv('DAQ4.csv',delimiter=';',header=None)
df['furnace_power'] = df['furnace_power'].apply(lambda x: x*x*0.52)
df['heat_pump_power'] = df['furnace_power'].apply(lambda x: x*230*0.62)
#saving the dataframe as csv file
df.to_csv('out_file.csv', sep=';', index=False)

我希望它对你有用。

最新更新