我有大约1000 s的文件在一个文件夹中的单列数据。我希望将它们合并为单个文件作为filename作为头文件,并将每个文件值合并为单独的列。
例如: File1.txt
-0.000633
-0.001362
-0.001909
-0.002638
-0.00282
-0.004096File2.txt
-0.003002
-0.003184
-0.004096
-0.003913File3.txt
-0.002638
-0.000086
0.001736
0.001736
0.001736File4.txt
我想按以下方式合并所有这些文件:

发布于 2022-03-23 05:20:23
file_list = ['File1.txt', 'File2.txt', 'File3.txt']
df = pd.DataFrame()
for file in file_list:
temp_df = pd.read_csv(file, header=None, names=[file[:-4]])
df = pd.concat([df, temp_df], axis=1)
print(df)
File1 File2 File3
0 -0.000633 -0.003002 -0.002638
1 -0.001362 -0.003184 -0.000086
2 -0.001909 -0.004096 0.001736
3 -0.002638 -0.003913 0.001736
4 -0.002820 NaN 0.001736
5 -0.004096 NaN NaN 发布于 2022-03-23 05:35:55
使用bash和分隔列的选项卡:
#!/usr/bin/env bash
combine() {
local IFS=$'\t' f
local -a header
for f in "$@"; do
header+=("$(basename "$f" .txt)")
done
printf "%s\n" "${header[*]}"
paste "$@"
}
combine File1.txt File2.txt File3.txt File4.txt > filename将文件名按摩到标题行是一个棘手的问题,paste是合并文件内容的一种简单方法。
https://stackoverflow.com/questions/71582068
复制相似问题