如何对目录中的单个文件进行相同的更改?

我有一个目录,我想对其进行更改的全套csv文件。每个csv都有一个包含日期的行,并且我想添加一个从文件长度向下计数到1的列(因此文件中的最后一个最近日期在该列中的值为1。如何对目录中的单个文件进行相同的更改?

我曾尝试以下:

>import os 

>import pandas as pd

>for f in os.listdir(path):

> df = pd.read_csv(f)

> df['Countdown'] = range(len(df), 1, -1)

这给我的

FileNotFoundError: File b'Data.csv' does not exist

错误这是奇怪的,因为它给出了数据文件所在的目录的具体名称,所以它可以清楚地看到该文件,因为它在错误消息中使用它的名称。

我曾尝试使用glob以及。

>import glob 

>data_set = glob.glob(path)

>for f in data_set:

> df = pd.read_csv(f)

> df['Countdown'] = range(len(df), 1, -1)

,因为它说这不起作用:

ValueError: Length of values does not match length of index

这个错误对我来说很有意义,因为该数据帧的长度不断增加,因为我更多的文件添加到它,所以“len个(df)'参数正在改变,并且与索引不匹配。

我相信我所要做的并不是太独特,我只是无法找到执行此任务的最佳方式。再次,我正在寻找具有单个文件的结果,每个文件都有一个从最早的日期起倒数为列的长度的列,最近的日期的值为1.

你的帮助。

回答:

尝试这种情况:

for f in glob.glob(r'/path/to/dir/*.csv'): 

df = pd.read_csv(f)

df['Countdown'] = np.arange(len(df), 0, -1)

# process df...

以上是 如何对目录中的单个文件进行相同的更改? 的全部内容, 来源链接: utcz.com/qa/267269.html

回到顶部