Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 拆分txt的第二列并获取特定值_Python - Fatal编程技术网

Python 拆分txt的第二列并获取特定值

Python 拆分txt的第二列并获取特定值,python,Python,我有一个文件househouse\u power\u consumpion.txt,其中包含一个家庭的分钟级功耗。前两列为时间,第三列为分钟消耗量。 我需要做的是: 计算家庭每小时平均用电量 用动画绘制与小时有关的功耗 我在下面一行遇到 hour=result.cut(“:”,0) 以下例外情况: AttributeError:“list”对象没有属性“cut” f = open('household_power_consumption.txt', 'r') lines = f.readline

我有一个文件
househouse\u power\u consumpion.txt
,其中包含一个家庭的分钟级功耗。前两列为时间,第三列为分钟消耗量。
我需要做的是:

  • 计算家庭每小时平均用电量
  • 用动画绘制与小时有关的功耗
  • 我在下面一行遇到

    hour=result.cut(“:”,0)

    以下例外情况:

    AttributeError:“list”对象没有属性“cut”

    f = open('household_power_consumption.txt', 'r')
    lines = f.readlines()
    #get the second column:hour-min-sec
    result = []
    for x in lines:
        result.append(x.split(';')[1])
    #split/cut the first number as hour
    hour = result.cut(':', 0)
    print(hour)
    
    有没有简单的方法将列表转换为字符串?我怎样才能计算出我们要捕获的小时数呢


    文件:

    您可以使用python中的
    datetime
    模块将字符串转换为时间

    这里有一个例子

    from datetime import datetime
    
    time_str = '13:55:26'
    time_object = datetime.strptime(time_str, '%H:%M:%S').time()
    print(type(time_object))
    print(time_object)
    print("Only Hour",time_object.hour)
    

    您可以使用python中的
    datetime
    模块将字符串转换为时间

    这里有一个例子

    from datetime import datetime
    
    time_str = '13:55:26'
    time_object = datetime.strptime(time_str, '%H:%M:%S').time()
    print(type(time_object))
    print(time_object)
    print("Only Hour",time_object.hour)
    

    首先,像这样打开文件是不好的做法,您应该使用with语句来处理异常并优雅地关闭文件:

    打开('househous_power_consumpion.txt','r')作为f:
    行=f.读行()
    #这里的工艺线。。。
    
    第二,您应该忽略第一行(标题行)并(可选)删除该行(如果您计划使用最后一列,则删除结尾处的“\n”):

    lines=[line.strip().split(;”),用于行中的行[1:]
    
    第三,
    cut
    方法不存在,您应该使用@Jasar给出的解决方案,或者这样做:

    hours=[int(第[1]行)。对于行中的行,拆分(“:”[0])]
    
    这将检索第二列项目和小时组件,并将其转换为
    int
    (否则为
    str

    最后,更喜欢列表理解,而不是以下内容:

    result=[]
    对于直线中的x:
    result.append(x.split(“;”)[1])
    
    列表理解:

    result=[x.split(“;”[1]表示行中的x]
    
    首先,像这样打开文件是不好的做法,您应该使用with语句来优雅地处理异常和文件关闭:

    打开('househous_power_consumpion.txt','r')作为f:
    行=f.读行()
    #这里的工艺线。。。
    
    第二,您应该忽略第一行(标题行)并(可选)删除该行(如果您计划使用最后一列,则删除结尾处的“\n”):

    lines=[line.strip().split(;”),用于行中的行[1:]
    
    第三,
    cut
    方法不存在,您应该使用@Jasar给出的解决方案,或者这样做:

    hours=[int(第[1]行)。对于行中的行,拆分(“:”[0])]
    
    这将检索第二列项目和小时组件,并将其转换为
    int
    (否则为
    str

    最后,更喜欢列表理解,而不是以下内容:

    result=[]
    对于直线中的x:
    result.append(x.split(“;”)[1])
    
    列表理解:

    result=[x.split(“;”[1]表示行中的x]
    
    请以代码而不是URL的形式提供示例数据为什么不在冒号上拆分,然后获取第一个索引。还可以省略第一行,因为它包含标题。
    …result.cut(“:”,0)AttributeError:“list”对象没有属性“cut”
    -是什么让您认为list有一个
    cut
    方法?您可能需要在引用时花一些时间练习这些示例。@Wamadahama这听起来更好,因为我以后也需要计算它,我该怎么做?请参阅Louis Lac对此的评论。请以代码形式提供示例数据,而不是URL为什么不在冒号上拆分,然后获取第一个索引。还可以省略第一行,因为它包含标题。
    …result.cut(“:”,0)AttributeError:“list”对象没有属性“cut”
    -是什么让您认为list有一个
    cut
    方法?您可能需要在引用时花一些时间练习这些示例。@Wamadahama这听起来更好,因为我以后也需要计算它,我该怎么做?请参阅Louis Lac对此的评论,这听起来不错,但我如何剥离整个第二列?这听起来不错,但我如何剥离整个第二列?