pandas - 将不同形状的 CSV 组合成一个 CSV
问题描述
我有不同数量的行和列的 CSV。我想创建一个大型 CSV,其中所有 CSV 数据直接堆叠在一起,由第一列对齐。我尝试了下面的脚本,但成功有限;b 是一个空数组,它不保存来自先前循环的数据。
from os import walk
import sys
import numpy as np
filenames= []
dirpath = []
filtered = []
original = []
f = []
b = np.empty([2, 2])
for (dirpath, dirnames, filenames) in walk("C:\\Users\\dkim1\\Python Scripts\\output"):
f.extend(dirnames)
print(f)
for names in f:
print(names)
df = np.genfromtxt('C:\\Users\\dkim1\\Python Scripts\\output\\' + names + '\\replies.csv', dtype =None, delimiter = ',', skip_header=1, names=True)
b = np.column_stack(df)
print(b)
解决方案
你试过 pd.concat() 吗?
import os
import pandas as pd
# just used a single dir for example simplicity, rather than os.walk()
root_dir = "your directory path here"
file_names = os.listdir(root_dir)
cat_list=[]
for names in file_names:
df = pd.read_csv(os.path.join(root_dir, names), delimiter = ',', header=None)
cat_list.append(df)
concatted_df = pd.concat(cat_list)
推荐阅读
- python-3.x - Discord.py 随机选择错误
- mysql - FROM 子句中表的两个别名是什么意思?
- git - git cherry-pick 从一个远程到另一个远程导致不同的提交 ID
- npm - 我在 reactjs 中遇到了 npm start 的问题,会发生什么?
- dataframe - 如何按条件对 Julia DataFrame 进行子集化,其中列缺少值
- html - 在Angular中过滤时如何显示所有筹码
- javascript - 根据该数据创建一个 html 表单并输出内容
- azure-ad-b2c - ADB2C 密码重置失败
- algorithm - UVa 539 的时间复杂度分析 - 卡坦岛的定居者
- asp.net - 身份验证后是否可以使用“匿名”cookie?