【问题标题】:How to delete the first term of a group of strings [duplicate]如何删除一组字符串的第一项[重复]
【发布时间】:2021-02-14 08:39:08
【问题描述】:

我试图编写代码只是为了从日志文件中输出日期和月份。但是第一行有一个标题。我怎样才能摆脱它?

with open('running.log','r') as file:
    lines = file.readlines()
    data = []
    for line in lines:
        
        fields = line[:-1].split('\t')
        
        date = fields[0].split('-')
        time = fields[1]
        temp = fields[2]
        record = (date, time, temp)
        
        
        data.append(record)
        
        days = date[0]
        months = date[-1]
        print(days)

我的输出结果是:


DATE
7
8
9
10
12
13
14
15
16
17
18
20
22
24
25
26
27
28

那么我怎样才能去掉第一行的 DATE 呢?

【问题讨论】:

  • 或者如果你有lines = file.readlines(),为什么不直接做for line in lines[1:]:
  • 实际上更好地查看您的代码,这基本上是一个 XY 问题 - 您真正应该做的是使用 csvpandas 模块,而不是将表格文件作为常规文本读取文件

标签: python


【解决方案1】:

跳过第一行。 替换

lines = file.readlines()

通过

lines = file.readlines()[1:]

注意,readlines() 将整个文件读入内存。如果您的文件相当大,这可能会导致问题。解决此问题的一种方法是逐行读取文件。例如

with open('running.log','r') as file:
    next(file)
    for line in file:
        # do your stuff

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    • 2019-10-21
    相关资源
    最近更新 更多