擅长:python、mysql、java
<p>您可以在读取循环中的文件时使用<code>df.assign</code>,或者在<code>pd.concat</code>中使用<code>keys</code>:</p>
<pre><code>list_of_files = ['path\QB305707.csv','path\QB305708.csv','path\QB305709.csv']
out = pd.concat((pd.read_csv(file).assign(filename=file) for file in list_of_files))
</code></pre>
<p>或者使用<code>keys</code>创建一个单独级别的带有文件名的索引</p>
<pre><code>pd.concat((pd.read_csv(file) for file in list_of_files),keys=list_of_files )
</code></pre>
<p>如果文件夹中还没有文件列表,可以先使用以下代码段获取文件列表:</p>
<pre><code>import glob
list_of_files = glob.glob(r'path_to_folder\*.csv')
</code></pre>
<p>最后的代码如下所示:</p>
<pre><code>import glob
import os
list_of_files = glob.glob(r'path_to_folder\*.csv')
out = pd.concat((pd.read_csv(file).assign(filename=os.path.split(file)[-1])
for file in list_of_files))
</code></pre>