python - 如何附加多个 CSV 文件并在 Python 中添加指示文件名的附加列?
问题描述
我在一个文件夹中有 20 多个 CSV 文件。所有文件都具有相同的结构,它们只是代表不同的日子。
例子:
Day01.csv
Day02.csv
Day03.csv
Day04.csv(等等...)
这些文件只包含两个数字列:x 和 y。我想将所有这些 csv 文件一起附加到一个大文件中,并为文件名(天)添加一列。我已经探索了类似的示例来生成以下代码,但是此代码将每个 y 添加到单独的列(Y1、Y2、Y3、Y4 ......等等)。我想简单地将这个附加文件作为三列:x、y、文件名。如何修改代码以进行正确的附加?
我已经尝试过此示例中的代码:Read multiple csv files and Add filename as new column in pandas
import pandas as pd
import os
os.chdir('C:....path to my folder')
files = os.listdir()
df = pd.concat([pd.read_csv(fp).assign(New=os.path.basename(fp)) for fp in files])
但是,此代码不会将所有 Y 值附加到一列下。(但是,所有其他方面似乎都有效)。有人可以帮助编写代码以使所有 Y 值都在单个列下吗?
解决方案
以下应该通过filename
在将 附加dataframe
到列表之前创建列来工作。
import os
import pandas as pd
file_list = []
for file in os.listdir():
if file.endswith('.csv'):
df = pd.read_csv(file,sep=";")
df['filename'] = file
file_list.append(df)
all_days = pd.concat(file_list, ignore_index=True)
all_days.to_csv("all.txt")
推荐阅读
- unity3d - Unity3D - 线渲染器无法通过相机看到距离
- laravel - 使用 laravel scout 时,searchable() 不会更新相关模型
- git - 如何在不推 --force 的情况下修复 git 中的非快进
- python-3.x - tkinter 上的重置按钮
- rest - 我应该将我的 REST API 设为 PUT 还是 POST 以进行文件上传?
- react-native - 下面是我的代码,我有一个错误: undefined is not an object (evalating 'navigation.navigate')
- c++ - 如何为对象的向量使用setter
- python - 相对于同一模型中的其他字段过滤 django 外键下拉列表
- json - 仅解组已批准的字段
- sql - JOOQ - 使用 Join 选择 Distinct - 获取映射器