【问题标题】:Reading multiple CSV Files and add them to pandas dataframe读取多个 CSV 文件并将它们添加到 pandas 数据框
【发布时间】:2020-07-28 13:55:22
【问题描述】:

大家好, 我正在尝试在 Dataframe 中导入许多 csv 文件。 我有一个错误:值错误:没有要连接的对象

这是我的代码:

from glob import iglob
import numpy as np
import pandas as pd
# read datas from github repository
path = r'https://github.com/CSSEGISandData/COVID-19/tree/master/csse_covid_19_data/csse_covid_19_daily_reports'
df1 = pd.concat((pd.read_csv(f) for f in iglob(path+"/*.csv", recursive=True)), ignore_index=True)

感谢您的帮助。如果认为是由于路径定义?

【问题讨论】:

  • 你不能像这样 glob 一个 web 路径。您也不应该使用来自 github.com 的 CSV,因为那实际上是 HTML。对于 csv,使用原始文件,例如 raw.githubusercontent.com/CSSEGISandData/COVID-19/master/…
  • 谢谢,我如何获取 GitHub 文件列表?
  • 您可以克隆存储库并在文件在您的计算机上后对其进行 glob。由于文件是日期,您还可以根据日期创建 URL 并在这些 URL 上使用 pd.read_csv

标签: python pandas git csv glob


【解决方案1】:

错误表明 dfs 为空,因此 pd.concat(dfs, ...) 行失败。所以,我猜 .csv 文件不在预期的位置。

如果你有奇怪的数据文件夹结构,它应该可以加载,但我很难知道,因为我看不到你的文件夹结构。

试试这个结构:

path =r'C:\DRO\DCL_rawdata_files'
filenames = glob.glob(path + "/*.csv")

dfs = []
for filename in filenames:
    dfs.append(pd.read_csv(filename))

df1 = pd.concat(dfs, recursive=True)), ignore_index=True)

【讨论】:

    猜你喜欢
    • 2018-05-23
    • 1970-01-01
    • 1970-01-01
    • 2022-10-12
    • 1970-01-01
    • 1970-01-01
    • 2017-08-03
    • 2018-12-14
    相关资源
    最近更新 更多