【发布时间】:2019-12-01 16:05:56
【问题描述】:
我正在尝试:
- 循环浏览 CSV 文件目录
- 将文件名作为新列附加到每个文件
- 将每个文件连接成一个主文件
但是在将绝对路径转换回相对路径时,我在第 3 步卡住了,因为我的输出看起来像 ../../../../Desktop/2018.12.31.csv,而我只是希望它是 2018.12.31。
例如,假设目录包含两个文件:2018.12.31.csv 和 2018.11.30.csv。
2018.12.31.csv
A B
1 2
2018.11.30.csv
A B
3 4
运行我的程序后:
import os
import pandas as pd
folder = ('/Users/user/Desktop/copy')
files = os.listdir(folder)
file_list = list()
for file in files:
file = os.path.join(folder, file)
if file.endswith('.csv'):
df = pd.read_csv(file, sep=";")
df['filename'] = os.path.relpath(file)
file_list.append(df)
all_days = pd.concat(file_list, axis=0, ignore_index=True, sort=False)
all_days.to_csv("/Users/user/Desktop/copy/all.csv")
我希望输出是:
A B filename
1 2 2018.12.31
3 4 2018.11.30
但实际上是:
A B filename
1 2 ../../../../Desktop/copy/2018.12.31.csv
3 4 ../../../../Desktop/copy/2018.11.30.csv
【问题讨论】:
标签: python pandas csv directory relative-path