首页 > 解决方案 > 如何将数据框/列表写入 csv 文件?

问题描述

我已经编写了以下代码,并且想将输出写入 csv 文件。我怎样才能做到这一点?谢谢你帮助我。这是我的代码的摘录:

columnNames = ['Stride Length', 'Stand Duration', 'Swing Duration', 'Douple Support Time', 'Relation Swing Stand']

resultsPerRowRatio = list()

for i in range(len(stepData)):
     stepDataLeft = stepData.to_numpy()[i, 0:5]
     stepDataRight = stepData.to_numpy()[i, 5:10]
     dataF = pd.DataFrame({'stepDataLeft': stepDataLeft, 'stepDataRight': stepDataRight}, index=columnNames)

     #Symmetry Ratio:
     dataF['Symmetry Ratio Row']=np.where(dataF['stepDataLeft'] < dataF['stepDataRight'],sv.symmetryRatio(dataF['stepDataLeft'],dataF['stepDataRight']), sv.symmetryRatio(dataF['stepDataRight'],dataF['stepDataLeft']))
     resultsPerRowRatio.append(dataF)

print("Symmetry Ratio: "+str(resultsPerRowRatio))

这是我的输出:

在此处输入图像描述

我想把它写在一个 csv 文件中。但我不知道怎么做。我已经尝试了各种选择。

标签: pythonlistdataframeexport-to-csv

解决方案


这是一种考虑使用的方法to_csv()

to_csv()参数(更多可用,但这是简单的情况):

  • header:列标题,True 包含或 False 排除
  • 模式:'a' 附加到现有文件,'w' 用于创建和写入新文件
  • index:True 包含索引,False 排除

例子:

PATH = your_folder_path
FILENAME = output_file_name

if os.path.isfile(PATH+FILENAME):
    dataF.to_csv(PATH+FILENAME, header=False, mode='a', index=True)
else:
    dataF.to_csv(PATH+FILENAME, header=True, mode='w', index=True)

此结构将执行逻辑检查以查看您的输出文件是否已存在于您定义的文件夹路径中,如果确实存在,它将通过 to_csv() 调用将数据附加到不带关联标题列名称的 csv 文件中. 如果它不存在,它将生成一个新的 csv 文件并包含列名作为标题。


推荐阅读