当前位置: 首页 > 知识库问答 >
问题:

如何合并一个文件夹中的所有csv文件到单个csv列?

丁钟展
2023-03-14

给定一个文件夹,其中包含多个具有不同列长度的csv文件

必须使用python将它们合并到单个csv文件中,并将文件名打印为一列。

输入:https://www.dropbox.com/sh/1mbgjtrr6t069w1/AADC3ZrRZf33QBil63m1mxz_a?dl=0

输出:

Id  Snack      Price    SheetName
5   Orange      55     Sheet1
7   Apple       53     Sheet1
8   Muskmelon   33     Sheet1
11  Orange             Sheet2
12  Green Apple        Sheet2
13  Muskmelon          Sheet2

共有1个答案

常温文
2023-03-14

您可以使用:

files = glob.glob('files/*.csv')
dfs = [pd.read_csv(fp).assign(SheetName=os.path.basename(fp).split('.')[0]) for fp in files]
df = pd.concat(dfs, ignore_index=True)
print (df)
   Id  Price SheetName        Snack
0  11    NaN   Sheet 2       Orange
1  12    NaN   Sheet 2  Green Apple
2  13    NaN   Sheet 2    Muskmelon
3   5   55.0    Sheet1       Orange
4   7   53.0    Sheet1        Apple
5   8   33.0    Sheet1    Muskmelon

编辑:

dfs = []
for fp in files:
    df = pd.read_csv(fp).assign(SheetName=os.path.basename(fp).split('.')[0])
    #another code
    dfs.append(df)
 类似资料:
  • 假设是Spark中的一个数据文件。将写入单个CSV文件的方法是 任何帮助都很感激。

  • 问题内容: 我有一个包含数千个.txt文件的文件夹。我想根据以下模型将它们合并到一个大的.csv文件中: 我发现应该执行此工作的R脚本(https://gist.github.com/benmarwick/9265414),但它显示此错误。 我不明白我的错是什么。 没关系,我很确定没有R也可以做到这一点。如果您知道一个非常优雅和简单的方法,将不胜感激(这对像我这样的很多人很有用) 精度:文本文件为

  • 我有一些具有相同列标题的CSV文件。例如 文件A 文件B 我想合并它,以便将数据合并到一个文件中,标题在顶部,但其他地方没有标题。 实现这一目标的好方法是什么?

  • 每个月我都会以csv格式下载整个分类账并将其保存到文件夹中。如何在熊猫中将其作为单个数据帧读取

  • 我正在寻找一个批处理文件合并所有CSV文件在一个特定的文件夹与行"LF"结束。 下面的脚本创建了一个带有“CRLF”EOL的输出文件,但是我的自动数据加载程序只接受“LF”EOL。 此外,我想在输出文件中有一个头。 帮助将不胜感激,因为我已经浪费了足够的时间寻找解决方案。 这就是我在下面尝试的。

  • 问题内容: 我的文件夹上有多个csv文件。列标题不同,但列数据相同。 括号内的数字是实际的列名。项目(67)67是列名 因此,忽略字符串Item,仅考虑int()中的int并执行操作。 样本文件:https : //drive.google.com/open?id=1q7c1AqCRKRufSVh– 9o0W6rdz28QyBGa 说明: 驱动器上的文件应附加在一起。基于列名称的“启用条件”。如果