【问题标题】:Reading different tables from a directory into an array of separate dataframes将目录中的不同表读入一组单独的数据框
【发布时间】:2013-08-08 12:01:45
【问题描述】:

我在一个目录中有几个 CSV 文件(表)(所有表都有不同的架构),我想循环这些文件并将每个表读入一个单独的数据帧。

有没有办法在 Python/Pandas 中做到这一点 - 将不同的表读入数据框数组?如何将多个表(具有不同架构)导入到多个单独的数据框中?

【问题讨论】:

  • 你想要一个数据帧还是几个数据帧?
  • 理想的分离数据框...
  • 伙计们,它并不是真正的重复项,因为另一个 q 说“#将所有数据文件组装到一个 DataFrame 中并添加一个年份字段”——这不是这个问题要问的......跨度>

标签: python pandas


【解决方案1】:

试试这个;

import os
import pandas as pd
import glob
os.chdir("E:/") # change this to the directory where your csv files are stored
csv_files = {} # we store the dataframes in a dictionary
for file in glob.glob("*.csv"): 
    csv_files[file] = pd.read_csv(file)

for dataframe in csv_files.values():
    print dataframe

【讨论】:

  • 谢谢。这究竟是如何工作的?似乎将一个变量读入df然后覆盖它?我可能没有正确阅读它(在循环目录中的 CSV 文件时)。
  • 我刚刚删除了df = 'data' + str(i)。那里没有意义。正确的。 df 正在被覆盖。
  • 我认为这是一个很好的解决方案。没有 df 变量(和打印)会更好。对 glob.glob 的一些解释会让这非常好:)
  • 感谢@Richie - 我收到错误“错误标记数据。 C 错误:预计第 6927 行中有 24 个字段,看到 26' - 我该如何克服这个问题?
猜你喜欢
  • 2012-09-13
  • 1970-01-01
  • 2019-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-03
  • 2017-05-11
  • 2021-12-28
相关资源
最近更新 更多