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对此的评论,这听起来不错,但我如何剥离整个第二列?这听起来不错,但我如何剥离整个第二列?