【发布时间】:2019-11-03 19:08:26
【问题描述】:
我想从 tar.gz 文件中读取文件夹的名称,并创建包含名称的列。
我正在使用此代码:
file_path = r"C:\Users\filename.tar.gz"
start_with = './mainfolder/'
import tarfile
import re
with tarfile.open(file_path, "r:*") as tar:
csv_path = tar.getnames()
csv_path = list(n for n in tar.getnames() if (n.endswith('.csv')) & (n.startswith(start_with)))
df = pd.DataFrame()
csv_list = []
for file in csv_path:
df_temp = pd.read_csv(tar.extractfile(file))
csv_list.append(df_temp)
df = pd.concat(csv_list)
在主文件夹中有几个有名字的文件夹。 从文件夹“X”(例如)读取 csv 文件后,应在此 csv 文件中创建“FolderName”列,并且必须包含所有行的文件夹名称(“X”)。 对于每个 csv 文件也是如此。
路径字符串示例:./mainfolder/1001_name 或 ./mainfolder/1002_some_name
【问题讨论】:
-
您当前的代码有什么问题?有什么错误吗?
-
它只是读取 csv 文件并将它们连接起来。但我想将文件夹名称(文件来自)添加为一列。
-
我在答案部分添加了一个解决方案。