Python 将列添加到多个文件中,合并到一个文件中并对其排序

Python 将列添加到多个文件中,合并到一个文件中并对其排序,python,pandas,sorting,Python,Pandas,Sorting,我是Python世界的新手,我正在与基本操作作斗争。 我有大量的文件名为include\u 10\u 00\u 00.csv,include\u 10\u 00\u 01.csv,include\u 10\u 00\u 02.csv,等等,对应于不同的时间入口小时分钟秒。 内容如下所示: x, y, z, temperature, pressure, u, v, w, k , omega 0, 0, 0, 295, 100001, ... 0, 1, 1, 296, 100002, ...

我是Python世界的新手,我正在与基本操作作斗争。 我有大量的文件名为
include\u 10\u 00\u 00.csv
include\u 10\u 00\u 01.csv
include\u 10\u 00\u 02.csv
,等等,对应于不同的时间入口小时分钟秒。 内容如下所示:

x, y, z, temperature, pressure, u, v, w, k , omega

0, 0, 0, 295, 100001, ...

0, 1, 1, 296, 100002, ...

...
我想做下面两个操作:

1/为每个文件添加一个
t
列,值为
0
import\u 10\u 00\u 00
,值为
import\u 10\u 00\u 01
,等等。使用
cols
工具为单个文件添加一列
t
。但是如何将其添加到所有文件中

data=pd.read_csv('C:/myPath/inlet_10_00_00.csv',sep=',',skiprows=7)
data["t (s)"]="0"
cols=list(data.columns.values)
cols=  cols[0:3]+ cols[-1:] + cols[3:10]
cols
newdata=data[cols]
newdata.to_csv('out.csv', index=False)
2/我想将所有这些文件合并到一个文件中,并按
t
变量对其进行排序。我应该以这样的格式结束: x、 y,z,t,温度,压力,u,v,w,k,ω

0, 0, 0, 0, 295,100001, ....   this part comes from inlet_10_00_00.csv

0, 1, 1, 0, 296,100002, ...

0, 0, 0, 1, 292,100008, ...    this part comes from inlet_10_00_01.csv

0, 1, 1, 1, 294,100012, ...

有什么想法,如何继续吗?

以下步骤将帮助您实现预期结果

说明:

1.步骤1:这里我们将列出当前目录中的文件名。然后,我们将对文件名进行排序,以确保文件按所需顺序循环

2.步骤2:在这里,我们将遍历在步骤1中创建的列表,读取一个文件,添加一列,并用相同的名称保存数据帧

3.步骤3:最后,使用
pd.concat
将所有文件连接到一个数据框中,并按
t
对数据框进行排序

# Step 1
path = 'C:/myPath/'
files = sorted(os.listdir(path)) # sorting will ensure _001, 002, 003 will bein sequence


## Step 2 
for ix, file in enumerate(files,1):
    df = pd.read_csv(file, skiprows=7) ## assuming you want to skip first 7 rows in every file
    df['t'] = ix
    df.to_csv(os.path.join(path, file), index=False)

## Step 3
master_df = pd.concat([pd.read_csv(file) for file in files])
master_df = master_df.sort_values('t').reset_index()

“值0表示
入口\u 10\u 00\u 00
,值1表示
入口\u 10\u 00\u 01
”--但是
入口\u 11\u 11\u 11
的值是什么?
os.path.join(路径,'file')
每次都会覆盖相同的文件。。。你是说
os.path.join(路径,文件)
?很高兴知道。如果有帮助,别忘了接受答案。