python - 我有 25 个 .csv 文件(每个文件都是一个抄写员),它们都具有相同的结构(X、Y 和 STATUE)。我想将它们全部合并到一个大的 .txt 文件中
问题描述
所以我尝试了这个并将所有文件(25 个抄写员文件)合并为一个。每个划线器包含 3330 ID 号,并且有一个坐标 X 和 Y 来突出显示每个 ID 号的缺陷数量 (STATUE)。我想知道所有组合文件中每个 ID 号的 STATUE 总和。
import os
import pandas as pd
from glob import glob
stock_files = sorted(glob('*AVI.als'))
dfList = []
stock_files
df = pd.concat((pd.read_csv(file).assign(filename = file) for file in stock_files), ignore_index = True)
X\tY\tSTATUS filename
0 14\t1\t0 2008-09728-AVI.als
1 15\t1\t0 2008-09728-AVI.als
2 16\t1\t0 2008-09728-AVI.als
3 17\t1\t0 2008-09728-AVI.als
4 18\t1\t0 2008-09728-AVI.als
... ... ...
83245 30\t90\t0 2008-13754-AVI.als
83246 31\t90\t0 2008-13754-AVI.als
83247 32\t90\t0 2008-13754-AVI.als
83248 33\t90\t0 2008-13754-AVI.als
83249 34\t90\t0 2008-13754-AVI.als
对于所有 CSV 文件合并为一个 .txt 文件,我应该看到如下结果
X Y STATUS
0 14 1 0
1 15 1 0
2 16 1 0
3 17 1 0
4 18 1 0
...
3330
任何帮助深表感谢
解决方案
我认为您只需要添加分隔符(sep=r"\t"):
df = pd.concat([pd.read_csv(file, sep=r"\t").assign(filename = file) for file in stock_files], ignore_index = True)
您可以像这样简单地保存到 .txt:
df.to_csv("output.txt")
如果您想要每个 ID (X) 的 STATUS 总和,您可以这样做:
df.groupby(["X"])["STATUS"].sum()
推荐阅读
- python - 按属性重要性的最近邻算法
- javascript - 单击时不适用于动态添加的链接 ID 属性
- kubernetes - 确保 kubectl 在正确的上下文中运行
- java - Listview/arrayadapter OnItemClickevent 错误
- selenium - 无法使用 Nightwatch 定位列表元素
- rust - 如何使用来自 GitHub 的最新 couchbase-rs 版本
- vba - 将 Powershell 脚本转换为 VBA 字符串
- javascript - 限制多行字段中每行的字符数
- php - 在表单中使用 Dropzone
- javascript - Websocket氛围:处理302状态码