首页 > 解决方案 > 使用 Pandas 将数据编程为 CSV

问题描述

我正在尝试制作一个 CSV,Excel 我遵循了一个在线帮助,但是它似乎不起作用,并且它带来了 KeyError:'Teflon'。有什么想法为什么?这是我关注的援助

import pandas as pd
import os

def sort_data_frame_by_Teflon_column(dataframe):
     dataframe = dataframe.sort_values(by= ['Teflon'])
def sort_data_frame_by_LacticAcid_column(dataframe):
    dataframe = dataframe.sort_values(by= ['Lactic Acid'])
def sort_data_frame_by_ExperimentalWeight_column(dataframe):
    dataframe = dataframe.sort_values(by= ['Experimental Weight'])
def sort_data_frame_by_Ratio_column(dataframe):
    dataframe = dataframe.sort_values(by= ['Ratio of Lactic Acid to Experimental Weight'])
def get_data_in_Teflon(dataframe):
    dataframe = dataframe.loc[dataframe['Teflon']]
    dataframe = dataframe.sort_values(by=['Teflon'])
def get_data_in_LacticAcid(dataframe):
   dataframe = dataframe.loc[dataframe['Lactic Acid']]
   dataframe = dataframe.sort_values(by= ['Lactic Acid'])
def get_data_in_ExperimentalWeight(dataframe):
   dataframe = dataframe.loc[dataframe['Experimental Weight']]
   dataframe = dataframe.sort_values(by= ['Experimental Weight'])
def get_data_in_Ratio(dataframe):
   dataframe = dataframe.loc[dataframe['Ratio of Lactic Acid to Experimental Weight']]
   dataframe = dataframe.sort_values(by= ['Ratio of Lactic Acid to Experimental Weight'])
   path = 'C:\\Users\\Light_Wisdom\\Documents\\Spyder\\Mass-TeflonLacticAcidRatio.csv'
 #output_file = open(path,'x')
 #text = input("Input Data: ")
 #text.replace('\\n', '\n')
 #output_file.write(text. replace('\\', ''))
 #output_file.close()
 csv_file = 'C:\\Users\\Light_Wisdom\\Documents\\Spyder\\Mass-TeflonLacticAcidRatio.csv'
 dataframe = pd.read_csv(csv_file)
 dataframe = dataframe.set_index('Teflon')
 sort_data_frame_by_Teflon_column(dataframe)
 sort_data_frame_by_LacticAcid_column(dataframe)
 sort_data_frame_by_ExperimentalWeight_column(dataframe)
 sort_data_frame_by_Ratio_column(dataframe)
 get_data_in_Teflon(dataframe)
 get_data_in_LacticAcid(dataframe)
 get_data_in_ExperimentalWeight(dataframe)
 get_data_in_Ratio(dataframe)
 write_to_csv_file_by_pandas("C:\\images\\Trial1.csv", dataframe)
 write_to_excel_file_by_pandas("C:\\images\\Trial1.xlsx", dataframe)
 #data_frame.to_csv(csv_file_path)
 #excel_writer = pd.ExcelWriter(excel_file_path, engine = 'xlsxwriter')
 #excel_writer.save()

这是 CSV:

Teflon,Lactic Acid,Experimental Weight,Ratio of Lactic Acid to Experimental Weight
1.973,.2201,1.56,.14
2.05,.15,.93,.16
1.76,.44,1.56,.28

编辑新问题 7/24/19

我正在尝试用函数自动回答,当我遇到这个错误时我正在尝试。

def get_Data():
check = 'No'
while(check == 'Yes'):
    row_name = input("What is the row number? ")
    row_name = []
    data = float(input("Teflon, Lactic_Acid, Expt_Wt, LacticAcid_to_Expt1_Wt: "))
    dataframe = []
    check = input("Add another row? ")
    return row_name,data, dataframe
 def row_inputter(row_name,data,dataframe):
    row_name.append(data)
    dataframe.append(row_name)
    return row_name, dataframe

  # Define your data
  #row1 = [ 1.973, .2201, 1.56, .14]
  #row2 = [2.05, .15, .93, .16]
  #row3 = [1.76, .44, 1.56, .28]
 row_name,data, dataframe = get_Data()
 row, df = row_inputter()

标签: pythonpython-3.xpandas

解决方案


您已经设置Teflon为索引

 dataframe = dataframe.set_index('Teflon')

dataframe不再包含该列。你的功能

sort_data_frame_by_Teflon_column()

将失败并通过该错误。

此外,其他功能如:

def get_data_in_LacticAcid(dataframe):
   dataframe = dataframe.loc[dataframe['Lactic Acid']]
   dataframe = dataframe.sort_values(by= ['Lactic Acid'])

由于第一行,可能会失败或将您dataframe变成空的。你到底想用这些功能实现什么?


推荐阅读