如何使用python以串行方式将多个csv合并到一个文件中?

2024-01-08

我正在尝试将多个 CSV 文件合并为一个 CSV 文件。

CSV 文件就像

 Energy_and_Power_Day1.csv,     
 Energy_and_Power_Day2.csv, 
 Energy_and_Power_Day3.csv,      
  ....................., 
 Energy_and_Power_Day31.csv

我使用了一个小的 python 脚本来连接多个 CSV 文件。该脚本正在完成其工作,但它不是以串行方式连接文件。 应该需要Energy_and_Power_Day1.csv then Energy_and_Power_Day2.csv then Energy_and_Power_Day3.csv像这样..但不是这样,它是随机而不是连续的。 这是我的代码

import pandas as pd
import csv
import glob
import os

os.chdir("/home/mayukh/Downloads/Northam_bill_data")
results = pd.DataFrame([])
filelist = glob.glob("Energy_and_Power_Day*.csv")
#dfList=[]
for filename in filelist:
  print(filename)  
  namedf = pd.read_csv(filename, skiprows=0, index_col=0)
  results = results.append(namedf)

results.to_csv('Combinefile.csv')

该脚本给出了以下输出print(filename)并以这种方式组合这些 csv 文件。

Energy_and_Power_Day1.csv
Energy_and_Power_Day16.csv
Energy_and_Power_Day23.csv
Energy_and_Power_Day22.csv
Energy_and_Power_Day11.csv
Energy_and_Power_Day21.csv
Energy_and_Power_Day31.csv
Energy_and_Power_Day17.csv
Energy_and_Power_Day25.csv
Energy_and_Power_Day28.csv
Energy_and_Power_Day9.csv
Energy_and_Power_Day19.csv
Energy_and_Power_Day7.csv
Energy_and_Power_Day15.csv
Energy_and_Power_Day20.csv
Energy_and_Power_Day24.csv
Energy_and_Power_Day4.csv
Energy_and_Power_Day6.csv
Energy_and_Power_Day14.csv
Energy_and_Power_Day13.csv
Energy_and_Power_Day27.csv
Energy_and_Power_Day3.csv
Energy_and_Power_Day18.csv
Energy_and_Power_Day8.csv
Energy_and_Power_Day30.csv
Energy_and_Power_Day12.csv
Energy_and_Power_Day29.csv
Energy_and_Power_Day10.csv
Energy_and_Power_Day5.csv
Energy_and_Power_Day2.csv
Energy_and_Power_Day26.csv

我的问题是如何或以何种方式连续组合这些 CSV 文件?


它不是“随机”的(这取决于底层文件系统如何组织这些文件 -@三重 https://stackoverflow.com/questions/48677856/how-to-combine-multiple-csv-into-one-file-in-serial-manner-using-python/48677994?noredirect=1#comment84354045_48677994).

您可以在打开文件之前对文件名进行排序。使用list.sort with a key范围。接下来,您可以使用列表理解,并将数据帧列表传递给pd.concat. It should比更有效率DataFrame.append.

import re

filelist = glob.glob("Energy_and_Power_Day*.csv")
filelist.sort(key=lambda x: int(re.search('\d+', x).group()))

df = pd.concat([
        pd.read_csv(f, skiprows=0, index_col=0) for f in filelist
     ],
     axis=0
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用python以串行方式将多个csv合并到一个文件中? 的相关文章

  • numpy.polyval() 的反函数

    我想知道 np polyval 是否有一个方便的反函数 我在其中给出 y 值并求解 x 我知道我可以做到这一点的一种方法是 import numpy as np Set up the question p np array 1 1 10 y
  • 如何从Python列表中的CSV文件的单个单元格中写入单词集?

    dataList cyclone twister thunderstorm supercell wind weatherradar storm waterspout tropicalcyclone hurricane typhoon sno
  • 抓取 Shopee API v4

    我有一个最终项目 其中我想要检索的数据是通过在shopee上抓取数据来获取的 但是当我在隐藏的API上抓取shopee时遇到问题 当我在Insomnia脚本上尝试时 脚本会运行 但是当我尝试时在本地或 google colab 脚本上 这是
  • Spacy-nightly (spacy 2.0) 问题“thinc.extra.MaxViolation 大小错误”

    显然成功安装了 spacy nightly spacy nightly 2 0 0a14 和英语模型 en core web sm 后 我在尝试运行它时仍然收到错误消息 import spacy nlp spacy load en core
  • Python for 循环前瞻

    我有一个 python for 循环 其中我需要向前查看一项以查看在处理之前是否需要执行某项操作 for line in file if the start of the next line 0 perform pre processing
  • Python - 将列表作为参数传递给 SQL,以及更多变量

    我试图在 python 3 6 中将未知数量的参数传递给 SQL Server 这是我使用 pypyodbc 的代码 cursor cnxn cursor theargs 1033286869 1053474957 1063654630 1
  • 合并共享属性的节点

    EDITED 我真的需要 Networkx graph 专家的帮助 假设我有以下数据框 我想将这些数据框转换为图表 然后我想根据描述和优先级属性将两个图映射到相应的节点 df1 From description To priority 10
  • 从 python 安装脚本中的编译标志中删除 ppc

    我正在尝试在 Intel Mac OS X Leopard 计算机上安装 PIL 不幸的是 setup py build 认为它应该为 ppc 进行编译 gcc arch ppc arch i386 isysroot Developer S
  • 限制 Python 上每秒的 HTTP 请求数

    我编写了一个脚本 用于从文件中获取 URL 并同时向所有 URL 发送 HTTP 请求 我现在想限制每秒 HTTP 请求数和每个接口的带宽 eth0 eth1等 在会话中 有什么办法可以在Python上实现这一点吗 您可以使用 Semaph
  • Visual Studio 2019中Python UnitTest下没有测试

    我在 Visual Studio 2019 Version16 3 9 中有一个现有的 python 项目 其中包含在 Visual Studio 2017 下为 unittest py 创建的单元测试 我已经为 unittest 配置了该
  • 加入列表中除最后 x 之外的所有内容

    我有一个列表 想要加入除最后 2 个条目之外的所有条目 IE x 1 2 3 4 print join x from 0 until 3 那么输出将是1 2 我怎样才能做到这一点 Use slicing https docs python
  • 将返回值从操作符传递给气流中的后续操作符

    我试图给一个字符串列表source objects字段为GoogleCloudStorageToBigQueryOperator但使用以下代码我收到错误 字符串索引必须是整数 而不是 unicode 我不知道的事情 我如何获得return的
  • 使用 Celery 用参数初始化工作线程

    我在寻找对我来说似乎相对简单的东西时遇到了问题 我正在使用 Celery 3 1 和 Python 3 并且希望使用参数初始化我的工作人员 以便他们可以使用这些详细信息进行设置 具体来说 这些工作人员将执行需要使用身份验证凭据与第三方 AP
  • 将 mysql 连接传递给 python 线程时管道损坏

    我正在尝试将 mysql 连接传递给 python 中的线程 如果我在工作类中进行 mysql 的初始化 则不会出现错误 但是 连接的成本可能很高 因此我尝试仅从调用者函数传递 mysql 连接 请参见下面的代码 但这一直抛出这个错误 20
  • 如何检查字符串是否仅包含字母数字字符和破折号?

    我正在测试的字符串可以匹配 w 我可以在 Python 中测试字符串是否符合此要求 而不是列出不允许的字符并对其进行测试吗 如果要根据正则表达式测试字符串 请使用re http docs python org library re html
  • 自定义注释 Seaborn 热图

    我正在 Python 中使用 Seaborn 创建热图 我可以使用传入的值对单元格进行注释 但我想添加表示单元格含义的注释 例如 不仅仅是看到0 000000 我想查看相应的标签 例如 Foo 或0 000000 Foo The Seabo
  • 如何矢量化 pandas 数据框前向列值搜索

    我想仅在前向搜索 pandas 数据帧列中的目标值 如果找到更大的值 那么我想将索引差异记录为结果列 我已经设法用两个内部 for 循环来做到这一点 但速度慢得令人痛苦 这就是我想在一个简化的示例中实现的目标 import pandas a
  • 需要 Google App Engine 国际化帮助 (Python)

    有没有人对如何在应用程序引擎 webapp python 中使用国际化有任何建议 我看过一些关于 django 翻译支持的帖子 但我似乎找不到足够的信息来了解如何使其工作 我需要的是一个解决方案 浏览器可以检测语言 用户可以覆盖和设置 模板
  • 如何通过 tkinter 使用 虚拟事件

    我正在 Python 3 5 2 中使用 tkk Combobox 主题小部件 我希望在选择一个值时发生一个操作 在Python中docs https docs python org 3 library tkinter ttk html v
  • 在 Flask 中捕获会话过期

    在 Flask 中 我使用 app permanent session lifetime 强制会话超时 有没有办法在会话到期之前接收回调 以便我可以执行清理 查看文档我没有看到相应的信号 None

随机推荐