进行筛选的时候,显示的结果是空值,python中的excel筛选时间没有值,如何解决?

为什么进行筛选的时候,显示的结果是空值哪里出错了

img

img

img

import pandas as pd
import matplotlib.pyplot as plt

data =pd.read_excel(r'F:/text/京基一百.xlsx',header=0)
print(data)
df1 = data.loc[data['时间']=='10:30:00',['入口车辆']]
df2 = data.loc[data['时间']=='12:00:00',['入口车辆']]
df3 = data[data['时间']=='10:30:00']
print(df1)
print(df2)
print(df3)



import pandas as pd
import matplotlib.pyplot as plt

data = pd.read_excel(r'F:/text/京基一百.xlsx', header=0)
print(data)

data['时间'] = data['时间'].astype(str)

df1 = data.loc[data['时间'] == '10:30:00']
df2 = data.loc[data['时间'] == '12:00:00']
df3 = data[data['时间'] == '10:30:00']
print(df1)
print(df2)
print(df3)

错误是因为从EXCEl读取的数据,自动将时间设置为datetime类型,所以你的过滤条件就不起作用了。

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7662821
  • 这篇博客你也可以参考下:python对excel操作获取某一列,某一行的值,对某一列信息筛选
  • 除此之外, 这篇博客: 程序员的小工具,用python操作excel表格 --- 可用于多张表的数据对比筛选等。中的 总结 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 主要的就是对excel表的操作,真实运用中对多表数据筛选写上一些算法配合就能完成。

  • 您还可以看一下 李宁老师的【李宁】用Python处理Excel数据(实战案例)课程中的 虽然可以隐藏行列和工作表,但尽量不要这样做小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    针对优化后的问题:

    如果在使用Python处理Excel数据时,进行筛选的时候,发现筛选后结果为空值,那么需要检查以下几点:

    1.确认数据源的路径是否正确,并使用xlrd工具读取Excel数据,如下代码中workbook=xlrd.open_workbook(r'.\file\price.xlsx')

    2.检查筛选条件是否正确,需要包括列索引和筛选的值,如下代码所示:

    data = pandas.read_excel('file.xlsx')
    rowData = data[(data['columnName'] == 'value')].reset_index(drop=True)
    

    其中columnName是需要进行筛选的列名,value是筛选的条件值。

    3.对于时间筛选需要注意,时间值需要转化成时间戳,否则会出现筛选结果为空的情况。假如需要筛选2019年1月1日到2019年1月31日之间的数据,可以使用以下代码:

    from datetime import datetime
    
    startTime = datetime(2019, 1, 1).timestamp()
    endTime = datetime(2019, 1, 31).timestamp()
    rowData = data[(data['timeStamp'] > startTime) & (data['timeStamp'] < endTime)].reset_index(drop=True)
    

    其中列名timeStamp是需要进行时间筛选的列名,需要使用datetime将时间值转化成时间戳后,再进行筛选。