如何对目录中的单个文件进行相同的更改?
我有一个目录,我想对其进行更改的全套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