使用python从excel工作表中提取和操作数据

DGMS89

场景:我试图想出一个 python 代码来读取给定文件夹中的所有工作簿,获取每个工作簿的数据并将其放入单个数据框(每个工作簿成为一个数据框,因此我可以单独操作它们)。

问题 1:使用此代码,即使我使用了正确的路径和文件类型,我仍然收到错误消息:

File "<ipython-input-3-2a450c707fbe>", line 14, in <module>
f = open(file,'r')

FileNotFoundError: [Errno 2] No such file or directory: '(1)Copy of 
Preisanfrage_17112016.xlsx'

问题 2:我创建不同数据框的原因是每个工作簿都有单独的格式(行是我的标识符,列是日期)。我的问题是其中一些工作簿在名为“Closing”或“Opening”的工作表上有数据,或者未指定名称。因此,我将尝试单独配置每个数据框,然后将它们加入。

问题 3:考虑到数据框数据已经统一后的最终输出,我的目标是以如下格式输出它们:

date 1    identifier 1    value
date 1    identifier 2    value
date 1    identifier 3    value
date 1    identifier 4    value
date 2    identifier 1    value
date 2    identifier 4    value
date 2    identifier 5    value

Obs1:对于输出,并非所有日期都具有相同的标识符数组。

问题 1:任何想法为什么代码会产生此错误?有没有更好的方法从excel中提取数据?

问题 2:是否可以为每个工作表创建一个唯一的数据框?这是一个好习惯吗?

问题 3:我可以使用循环进行这种类型的输出吗?这是一个好习惯吗?

Obs2:我不知道这有多相关,但我在 Anaconda 中使用 Python 3.6。

到目前为止的代码:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import glob, os
import datetime as dt
from datetime import datetime
import matplotlib as mpl


directory = os.path.join("C:\\","Users\\Dgms\\Desktop\\final 2")
for root,dirs,files in os.walk(directory):
for file in files:
    print(file)
    f = open(file,'r')
    df1 = pd.read_excel(file)
罗兰

认为你不需要你的开放。我会将它们存储在一个列表中。您可以使用pd.concat(list_of_dfs)或进行一些手动更改。

list_of_dfs = []
for root,dirs,files in os.walk(directory):
    for file in files:
        f = os.path.join(root, file)
        print(f)
        list_of_dfs .append(pd.read_excel(f))

或使用glob

import glob
list_of_dfs = []
for file in glob.iglob(directory + '*.xlsx')
    print(file)
    list_of_dfs .append(pd.read_excel(file))

或者像杰基建议的那样,您可以阅读特定的表格list_of_dfs.append(pd.concat([pd.read_excel(file, 'Opening'), pd.read_excel(file, 'Closing')]))如果您只有其中一个可用,您甚至可以更改为

try:
     list_of_dfs.append(pd.concat([pd.read_excel(file, 'Opening'))
except:
     pass
try: 
     list_of_dfs.append(pd.concat([pd.read_excel(file, 'Closing'))
except:
     pass

(当然,您应该指定确切的错误,但不能测试那个 atm)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 Nifi 处理器中提取和操作数据

来自分类Dev

从多个Excel工作表中提取数据

来自分类Dev

使用Python脚本从Excel工作表中提取数据并输入网站

来自分类Dev

使用 Pandas (Python) 操作数据帧

来自分类Dev

在Python中操作数据框

来自分类Dev

使用日期操作数据框

来自分类Dev

使用 Javascript 操作数据

来自分类Dev

如何使用Java(Fx)从自定义UI面板创建/操作数据库和表?

来自分类Dev

操作数据框以创建数据透视表

来自分类Dev

在 laravel 5.7 和 excel 3.1 中导出之前如何操作数据

来自分类Dev

从打开的Excel工作表中提取数据到R?

来自分类Dev

从多个Excel工作表中提取数据并计算特定项目

来自分类Dev

过滤数据表-@ 后缺少操作数

来自分类Dev

Python不支持的操作数int和元组-尝试从Excel范围创建列表

来自分类Dev

操作数据框

来自分类Dev

Identity Server 4:使用EntityFramework Core进行配置和操作数据

来自分类Dev

使用 R 操作数据框中的我的行和下一行

来自分类Dev

如何对几个查询执行ExecuteScalarAsync和操作数据

来自分类Dev

同时子集和操作数据帧的特定列

来自分类Dev

设置和获取成员函数操作数据成员

来自分类Dev

如何使用openpyxl / pandas或任何python将从多个excel工作表中提取的字符串数据保存到新工作簿中?

来自分类Dev

django 应用程序使用 python 与 SQL 操作数据的建议

来自分类Dev

如何使用python从Excel工作表中提取超链接单元格

来自分类Dev

在Python中一起使用IF,AND,OR和EQUAL操作数

来自分类Dev

从 melissa 数据库中提取数据,得到一个类型错误:(“一元 + 的错误操作数类型:‘str’”

来自分类Dev

循环中的Python操作数据列表

来自分类Dev

python操作数据库报错

来自分类Dev

使用 SQL Server 操作数据以返回总值

来自分类Dev

使用 dplyr(我认为)来操作数据集

Related 相关文章

  1. 1

    如何在 Nifi 处理器中提取和操作数据

  2. 2

    从多个Excel工作表中提取数据

  3. 3

    使用Python脚本从Excel工作表中提取数据并输入网站

  4. 4

    使用 Pandas (Python) 操作数据帧

  5. 5

    在Python中操作数据框

  6. 6

    使用日期操作数据框

  7. 7

    使用 Javascript 操作数据

  8. 8

    如何使用Java(Fx)从自定义UI面板创建/操作数据库和表?

  9. 9

    操作数据框以创建数据透视表

  10. 10

    在 laravel 5.7 和 excel 3.1 中导出之前如何操作数据

  11. 11

    从打开的Excel工作表中提取数据到R?

  12. 12

    从多个Excel工作表中提取数据并计算特定项目

  13. 13

    过滤数据表-@ 后缺少操作数

  14. 14

    Python不支持的操作数int和元组-尝试从Excel范围创建列表

  15. 15

    操作数据框

  16. 16

    Identity Server 4:使用EntityFramework Core进行配置和操作数据

  17. 17

    使用 R 操作数据框中的我的行和下一行

  18. 18

    如何对几个查询执行ExecuteScalarAsync和操作数据

  19. 19

    同时子集和操作数据帧的特定列

  20. 20

    设置和获取成员函数操作数据成员

  21. 21

    如何使用openpyxl / pandas或任何python将从多个excel工作表中提取的字符串数据保存到新工作簿中?

  22. 22

    django 应用程序使用 python 与 SQL 操作数据的建议

  23. 23

    如何使用python从Excel工作表中提取超链接单元格

  24. 24

    在Python中一起使用IF,AND,OR和EQUAL操作数

  25. 25

    从 melissa 数据库中提取数据,得到一个类型错误:(“一元 + 的错误操作数类型:‘str’”

  26. 26

    循环中的Python操作数据列表

  27. 27

    python操作数据库报错

  28. 28

    使用 SQL Server 操作数据以返回总值

  29. 29

    使用 dplyr(我认为)来操作数据集

热门标签

归档