首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在csv的整个文件夹中读取和跳过没有任何列的项

如何在csv的整个文件夹中读取和跳过没有任何列的项
EN

Stack Overflow用户
提问于 2022-09-15 15:12:51
回答 2查看 32关注 0票数 1

我使用下面的方法在csv的整个文件夹中读取。这些csv每天都被放到一个文件夹中,并反映已经发生的活动。当没有活动发生时,csv是空的,并且仍然有1KB的大小。如何使用此脚本跳过仍然具有文件大小的空文件?目前,我得到了错误:

代码语言:javascript
复制
EmptyDataError: No columns to parse from file

当前代码:

代码语言:javascript
复制
os.chdir('file_path')
file_extension = '.csv'
all_filenames = [i for i in glob.glob(f"*{file_extension}")]
df = pd.concat([pd.read_csv(t) for t in all_filenames], ignore_index=True,sort=False,axis=0)
EN

回答 2

Stack Overflow用户

发布于 2022-09-15 15:54:08

您可以始终处理异常,并生成将输入到concat函数中的数据文件列表。也许有一种方法可以把这个写成一个我不知道的人。下面是长篇版本:

代码语言:javascript
复制
os.chdir('file_path')
file_extension = '.csv'
all_filenames = [i for i in glob.glob(f"*{file_extension}")]

all_dataframes = []
for t in all_filenames:
    try:
        df = pd.read_csv(t)
        all_dataframes.append(df)
    except pd.io.common.EmptyDataError:
        print("empty csv encountered")
        # if for some reason you would prefer an empty dataframe
        #df = pd.DataFrame()
        #all_dataframes.append(df)

df = pd.concat(all_dataframes, ignore_index=True,sort=False,axis=0)
票数 1
EN

Stack Overflow用户

发布于 2022-09-15 18:12:45

按照How to check whether a file is empty or not的公认答案,我们可以知道一个文件是否真的是空的,只需忽略它。

我想你的文件看起来是这样的:

代码语言:javascript
复制
file1.csv
=========
Col1,Col2
a,1
b,2

file2.csv
=========

file3.csv
=========
Col1,Col2
c,3
d,4

the是空的,没有头文件,否则Pandas就不会抛出“没有要从文件中解析的列”异常。

代码语言:javascript
复制
import glob
import os

import pandas as pd

file_extension = ".csv"

all_filenames = []
for csv_file in glob.glob(f"*{file_extension}"):
    if os.stat(csv_file).st_size == 0:
        continue
    all_filenames.append(csv_file)

df = pd.concat([pd.read_csv(t) for t in all_filenames], ignore_index=True, sort=False, axis=0)

我得到了:

代码语言:javascript
复制
  Col1  Col2
0    a     1
1    b     2
2    c     3
3    d     4
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73733588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档