Python 从目录中的多个CSV文件中删除最后一行

Python 从目录中的多个CSV文件中删除最后一行,python,csv,file,Python,Csv,File,我试图删除目录中多个CSV文件的最后一行,覆盖原始文件 输入文件示例: ^AEX,14/04/2021,708.83,713.31,708.44,712.55,70200 ^AEX,15/04/2021,713.21,714.98,712.37,713.8,71100 ^AEX,16/04/2021,714.48,716.8,712.57,716.8,80786700 ^AEX,19/04/2021,717.05,718.5,710.62,711.94,60100 ^AEX,20/04/2021

我试图删除目录中多个
CSV
文件的最后一行,覆盖原始文件

输入文件示例:

^AEX,14/04/2021,708.83,713.31,708.44,712.55,70200
^AEX,15/04/2021,713.21,714.98,712.37,713.8,71100
^AEX,16/04/2021,714.48,716.8,712.57,716.8,80786700
^AEX,19/04/2021,717.05,718.5,710.62,711.94,60100
^AEX,20/04/2021,717.05,718.5,710.62,711.94,60100
输出文件示例:(最后一行
^AEX,20/04/2021
已删除)

我编写了以下代码,但它不起作用:

导入csv
进口经营者
导入glob
path=“./Original/*.csv”
files=glob.glob(路径)
对于文件中的文件名:
lines=打开(文件).readlines()
行=行[:-1]
#删除文件的内容
f、 截断(0)
f、 搜索(0)
#将新数据写入文件
writer=csv.writer(f)
writer.writerows(列表)

以下是一个可能的解决方案:

从全局导入全局
csv_files=glob('./原件/*.csv')
对于csv_文件中的csv_文件:
打开(csv_文件)作为f:
lines=f.readlines()[:-1]
打开(csv_文件,'w')作为f:
f、 写线(行)

您没有将文件描述符保存在
f
中,因为您一次打开并读取文件。另外,考虑使用<代码> 语句,并用<代码> PATLIB < /代码>代替<代码> GOLB。它必须是Python吗?这对于
sed
sed-i'$d'foo.csv
,正如@JanChristophTerasa所建议的,也许
head-n-1
是一个更简单的选择。@accdias这是另一种方法,是的。虽然
head
没有内置的就地选项。@阿克迪亚斯:因为我不能在这里以评论的形式回复代码,所以我这样做是为了回答下面的问题(对不起,我真的是个新手)。我很乐意,@Joao。
^AEX,14/04/2021,708.83,713.31,708.44,712.55,70200
^AEX,15/04/2021,713.21,714.98,712.37,713.8,71100
^AEX,16/04/2021,714.48,716.8,712.57,716.8,80786700
^AEX,19/04/2021,717.05,718.5,710.62,711.94,60100