【问题标题】:I cannot save into excel the result of entire loop but only the last iteration我无法将整个循环的结果保存到 excel 中,而只能保存最后一次迭代
【发布时间】:2021-06-23 01:14:31
【问题描述】:

我想将整个迭代的结果保存到一个 excel 文件中,但目前我只保存最后一次运行。为什么会发生这种情况以及如何解决? 我添加了一行“追加”,但随后收到一条错误消息..

path = '../'
df1=[]

for file in os.listdir(path):
 if file.endswith('.txt'):
     with open(os.path.join(path, file)) as f:
         df = pd.read_csv(f, sep="\t", header=0,usecols=[0,11])
         df.columns = ["x", "y"]

         abs_PAR=[]
         mean1=[]

         for (x, y) in df.iteritems():

          abs_PAR = sum(y.iloc[49:350]) / len(y.iloc[49:350])

          mean1.append(abs_PAR)

          newrow = {0:abs_PAR}
          df1 = df1.append(newrow)
          print(newrow)

writer = ExcelWriter('df1.xlsx')
df1.to_excel(writer,'Sheet1',index=False)
writer.save()

错误信息: AttributeError: 'NoneType' 对象没有属性 'append'

提前谢谢你

【问题讨论】:

  • 您已经定义了newrow,但您正在附加new_row。变量名不同
  • @RaghavaDhanya,谢谢!如此愚蠢的错误。但是,现在我更改了它,我收到以下错误: df1 = df1.append(newrow) AttributeError: 'NoneType' object has no attribute 'append'

标签: pandas dataframe loops append


【解决方案1】:

您不应将赋值运算符 (=) 与 append 一起使用。尝试改变

df1 = df1.append(newrow)

df1.append(newrow)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-29
    • 1970-01-01
    • 2021-05-11
    • 1970-01-01
    • 2018-02-13
    • 2018-06-11
    • 2016-04-23
    相关资源
    最近更新 更多