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

导入不断增长的csv文件列表(),仅在imoprting[复制]后追加

艾宁
2023-03-14

因此,我正在构建一个具有不断增长的csv集的数据集。与其添加新的df#=pd.read_csv(文件名、索引,我更愿意创建一个函数来读取csv列表,然后在导入时附加它们。有什么建议吗?我在下面写下了我目前拥有的代码。

import glob
files = glob.glob('*.csv')

files

alg1_2018_2019 = pd.read_csv('alg1_2018_2019.csv', index_col=False)
alg1_2017_2018 = pd.read_csv('alg1_2017_2018.csv', index_col=False)
geometry_2018_2019 = pd.read_csv('geometry_2018_2019.csv', index_col=False)
geom_8_2017_2018 = pd.read_csv('geom_8_2017_2018.csv', index_col=False)
alg2_2016_2017 = pd.read_csv('alg2_2016_2017.csv', index_col=False)
alg1_2016_2017 = pd.read_csv('alg1_2016_2017.csv', index_col=False)
geom_2016_2017 = pd.read_csv('geom_2016_2017.csv', index_col=False)
geom_2015_2016 = pd.read_csv('geom_2015_2016.csv', index_col=False)
alg2_2015_2016 = pd.read_csv('alg2_2015_2016.csv', index_col=False)
alg1_part2_2015_2016 = pd.read_csv('alg1_part2_2015_2016.csv', index_col=False)```

共有1个答案

督德泽
2023-03-14

我正在使用以下函数

import pandas as pd
from pathlib import Path

def glob_filemask(filemask):
    """
    allows to "glob" files using file masks with full path

    Usage:
        for file in glob_filemask("/path/to/file_*.txt"):
            # process file here
    or:
        files = list(glob_filemask("/path/to/file_*.txt"))


    :param filemask:    wildcards can be used only in the last part
                        (file name or extension), but NOT in the directory part
    :return:    Pathlib glob generator, for all matching files
    Example:
        glob_filemask("/root/subdir/data_*.csv") -
    will return a Pathlib glob generator for all matching files
        glob_filemask("/root/subdir/single_file.csv") -
    will return a Pathlib glob generator for a single file

    """
    p = Path(filemask)
    try:
        if p.is_file():
            return [p]
    except OSError:
        return p.parent.glob(p.name)

使用方法:

df = pd.concat([pd.read_csv(f) for f in glob_filemask("/path/to/file_*.csv")],
               ignore_index=True)
 类似资料:
  • 问题内容: 我有一个看起来像这样的表: 该表中大约有800,000个条目。我收到了一个新的CSV文件,该文件更新了每种产品的所有数量,例如: 因此,大约有750,000个更新(50,000个产品的数量没有变化)。 我的问题是,如何导入CSV这个只更新的基于关闭的数量(唯一的),但离开了,独自一人,和其他领域?我知道如何在PHP中通过遍历CSV并为每一行执行更新来做到这一点,但这似乎效率很低。 问题

  • 本文向大家介绍python对csv文件追加写入列的方法,包括了python对csv文件追加写入列的方法的使用技巧和注意事项,需要的朋友参考一下 python对csv文件追加写入列,具体内容如下所示: 原始数据 结果: 知识点扩展: python:在csv文件每行末写入一列——方法1 总结 以上所述是小编给大家介绍的python对csv文件追加写入列的方法,希望对大家有所帮助,如果大家有任何疑问请给

  • 问题内容: 我的redis rdb文件的大小一直在增长,直到数据库无法运行并且连接被拒绝为止。我意识到这与某些配置设置有关-我使用的是默认配置文件。 有什么办法可以防止这种情况?我不必担心持续备份。 问题答案: 这显然在redis.conf中, 上面的文本在redis.conf中,如果您不想保存rdb文件,请在保存的三行注释,例如

  • 我启动了几个异步进程,如果需要,这些进程反过来可以启动更多的进程(想想遍历目录结构或类似的东西)。每个进程都会返回一些东西,最后我想等待所有这些进程的完成,并安排一个函数来处理结果集合。 我的解决方案尝试使用可变的(我不断添加我生成的期货)和来安排一些函数在此缓冲区中列出的所有这些期货完成后运行。 我准备了一个简单的例子来说明这个问题: 它首先调度和期货,然后将在1秒后的分辨率中调度。本身将在2秒

  • 问题内容: 我有一长串以下形式的清单- 即列表中的值是不同的类型-浮点数,整数,字符串。如何将其写入csv文件,以便输出的csv文件看起来像 问题答案: Python的内置CSV模块可以轻松处理此问题: 假设您的问题中的清单定义为。您可以通过各种可选参数来调整输出CSV的确切格式,如上面链接的库参考页中所述。 Python 3更新

  • 我试图将iris数据集放入一个列表中,但是当我试图读取文件中的行时,它不会将每个值分开,而是将其放入一个字符串中。如何修复此问题,使其打开并分离数据?一些数据: 代码: 输出: 输出应该是什么: