我在一个文件夹中有多个文本文件,而不是要创建一个表。我已将该表成功导出到.csv
文件。问题是我想向每个列添加标题,并且希望标题的名称成为文本文件的名称。每个文件都是表中的数据列。因此,例如,列1来自textfile.1
。我想在第1列添加标题为"textfile.1"
这是我的工作代码:
import os
path = r'C:/path/to/file'
folders = os.listdir(path) #raw string
import pandas as pd
df = pd.DataFrame()
df_interim = pd.DataFrame()
for f in folders:
df_interim = pd.read_csv(
os.path.join(path,f ,),
header=None
)
#concatenate the data into the original dataframe
frames = [df, df_interim]
df = pd.concat(frames, axis=1)
df.to_csv('outputfile',index=False)
答案 0 :(得分:2)
修复代码,只需添加名称param并将其设置为文件名:
df_interim = pd.read_csv(os.path.join(path, f),
header=None,
names=[f])
有关read_csv
的参数的更多信息,请参见here。
这是删除循环和df_interim
的更简单方法;
df_final = pd.concat([
pd.read_csv(os.path.join(path, f), header=None, names=[f], squeeze=True)
for f in folders
], axis=1
)