python - 在for循环python中仅获取列表的最后一个元素
问题描述
我需要遍历多个文件夹才能获得最终需要添加到 df 的 csv 文件。在下面的代码中,只有最后一个文件夹的 csv 文件被添加到 df 中。你能告诉我为什么会发生这种情况以及如何解决吗?我是 python 新手,所以任何优化或改进代码的建议也将非常有帮助。
for x in os.listdir(path):
for y in os.listdir(path+"\\" + x):
if "FP" in y :
for z in os.listdir(path+"\\" + x + "\\" + y):
final_data = []
if "Frequency" in z:
columns =["frequency", "amplitude", "phase","axis","machinenumber","time"]
list_files = []
for csv_files in os.listdir(path+"\\" + x + "\\" + y +"\\" + z):
old_path = (path+"\\" + x + "\\" + y +"\\" + z + "\\" + csv_files)
#print(csv_path)
df = pd.read_csv(old_path,header=None,names=columns)
df["axis"].fillna(str(csv_files.strip(".CSV")),inplace = True)
df["machinenumber"].fillna(str(x.split("_")[1]),inplace = True)
df["time"].fillna(str(y.split("-")[2]),inplace = True)
list_files.append(df)
final_data = pd.concat(list_files)
final_data.to_csv(r'C:\Users\subhvaru\Desktop\1234.csv',index= False)
解决方案
你的最后一行重写了文件。您可以尝试附加到它,这样它就不会删除现有内容。
final_data.to_csv(r'C:\Users\subhvaru\Desktop\1234.csv', mode='a,index= False)
推荐阅读
- ios - 将调试器上的 xcode 调试堆栈跟踪导出到崩溃文件
- php - 使用 jquery-confirm 编辑表单
- javascript - React js Apollo 解构结果
- rust - 防止直接初始化类型别名
- python - Pandas 中如何根据空格和逗号分隔变量
- node.js - $graphLookup 返回空数组
- c# - 如何在 C# 中读取域的 TXT 记录?
- vue.js - 如何处理自定义Vuetify输入的模糊和输入keyup事件?
- html - 在 Safari 的响应式设计模式中,如何将视口宽度设为特定的 px 大小?
- python - Pygame中基于FPS制作延时