【发布时间】:2019-11-14 09:49:48
【问题描述】:
如果有办法将文件名作为列名,我正在尝试使用 pandas 库 例如,我的文件名带有日期。
stock_2019-10-11.csv,
stock_2019-11-11.csv.
我想用文件名创建 2 个不同的列并获取附加值 我希望得到一个 CSV 文件的东西:
coulmns-primary_key, article_numerber,stock_2019-10-11,stock_2019-11-11
data-0 101,201,4,2
data-1 102,301,5,2
与上面类似,新列的值来自 CSV 的合并。
import pandas as pd
import glob
import os
import sys
import csv
data = [] # pd.concat takes a list of dataframes
for csv in globbed_files(my directiry of files):
frame = pd.read_csv(csv,encoding='utf_16',error_bad_lines=False,index_col=False)
frame['filename'] = os.path.basename(csv)
data.append(frame)
frame1 = pd.concat(data, ignore_index=True
)
【问题讨论】:
-
您正在加载的每个 csv 文件的结构是什么?
-
@Aryerez,它们有 3 列和 1000 多行。
-
@LIONELJOSEPH 我的意思是您将在问题中添加一个示例,就像您对输出所做的那样,这样我们就可以看到标题。如果文件之间的标题不同,请解释每个不同名称的逻辑。
-
@Aryerez 所有文件都有相同的列,虽然 New_PID stock New_WAWI DY-120010771 1 120010771 DY-120010796 2 120010796,但我尝试设置索引没有帮助
标签: python pandas csv dataframe