【问题标题】:How to read a particular cell in a excel sheet through pandas?如何通过熊猫读取excel表格中的特定单元格?
【发布时间】:2021-01-20 03:01:58
【问题描述】:

我正在处理一个要求,我需要在一个空的 Excel 表中动态插入值。所以,为了实现这个目标,我正在使用 Pandas。

我有单列(日期),其中多行可能为空。我正在通过熊猫阅读excel文件。但是,我发现如果一个单元格是空白的,pandas 会忽略它,即它只会显示具有值的行的输出。这正常吗。如果是,那我该如何满足要求?

df = pd.read_excel('test1234.xlsx')
print(df)

输出:

       Date
0       ami
1       ami
2       ami
3       ami
4       ami
5       wef
6       wef
7       wef
8       wef
9       wef
10      wef
11      wef
12      wef
13      wef
14      wef
15      wef
16      wef

我知道该列有 23 行,其中包括空单元格。我知道熊猫在最后一行结束后不会显示任何输出。但是中间空白的行呢?

问候, 阿米特什

【问题讨论】:

  • 为什么不能以编程方式添加空行?
  • 请详细说明
  • 你想做什么?你的最终目标是什么?
  • @user3521180 df = pd.concat([pd.read_csv('name.csv'), pd.DataFrame([{'Date': ''} for i in range(7)])], ignore_index=True)
  • 您需要使用xlwingsopenpyxl 我认为引擎选项可用于熊猫。此外,您可能正在阅读错误的表格。

标签: python excel pandas


【解决方案1】:

如果您的 excel 文件中的 index column 存在且已完全填充,则以下操作应该有效。

df = pd.read_excel('test1234.xlsx', index_col=0)
print(df)

【讨论】:

  • @gtmor,我的主要目标是如果任何单元格为空,程序应提示用户手动输入数据。
【解决方案2】:

当空块在非空行之间时,pandas 用 Nan 填充行,但在最后是空行的情况下,它被解释为 end 并忽略它们。但是,如果您知道最后忽略的行数,您可以按以下方式执行此操作。

    from numpy import nan as Nan
    import pandas as pd

    >>> df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
    ...                     'B': ['B0', 'B1', 'B2', 'B3'],
    ...                     'C': ['C0', 'C1', 'C2', 'C3'],
    ...                     'D': ['D0', 'D1', 'D2', 'D3']},
    ...                     index=[0, 1, 2, 3])

    >>> s2 = pd.Series([Nan,Nan,Nan,Nan], index=['A', 'B', 'C', 'D'])
    >>> result = df1.append(s2)
    >>> result
         A    B    C    D
    0   A0   B0   C0   D0
    1   A1   B1   C1   D1
    2   A2   B2   C2   D2
    3   A3   B3   C3   D3
    4  NaN  NaN  NaN  NaN

此操作可以通过所需的空行数进行迭代。

【讨论】:

    猜你喜欢
    • 2017-09-18
    • 1970-01-01
    • 2020-04-18
    • 1970-01-01
    • 2019-01-16
    • 1970-01-01
    • 2017-01-10
    • 1970-01-01
    • 2020-02-17
    相关资源
    最近更新 更多