gpt4 book ai didi

python - 在这种情况下,为什么 read_csv skiprows 值需要低于应有的值?

转载 作者:行者123 更新时间:2023-12-03 16:48:39 24 4
gpt4 key购买 nike

我有一个日志文件(在这种情况下为 Text.TXT):

# 1: 5
# 3: x
# F: 5.
# ID: 001
# No.: 2
# No.: 4
# Time: 20191216T122109
# Value: ";"
# Time: 4
# Time: ""
# Time ms: ""
# Date: ""
# Time separator: "T"
# J: 1000000
# Silent: false
# mode: true
Timestamp;T;ID;P
16T122109957;0;6;0006

要将此日志文件读入 Pandas 并忽略所有标题信息,我将使用 skiprows直到第 16 行,如下所示:
pd.read_csv('test.TXT',skiprows=16,sep=';')

但这会产生 EmptyDataError因为它跳过了数据开始的地方。为了完成这项工作,我不得不在第 11 行使用它:
pd.read_csv('test.TXT',skiprows=11,sep=';')
Timestamp T ID P
0 16T122109957 0 6 6

我的问题是,如果数据直到第 17 行才开始,在这种情况下,为什么我需要请求跳过第 11 行?

最佳答案

一种解决方法是使用 comment pd.read_csv 的参数

from io import StringIO

text='''# 1: 5
# 3: x
# F: 5.
# ID: 001
# No.: 2
# No.: 4
# Time: 20191216T122109
# Value: ";"
# Time: 4
# Time: ""
# Time ms: ""
# Date: ""
# Time separator: "T"
# J: 1000000
# Silent: false
# mode: true
Timestamp;T;ID;P
16T122109957;0;6;0006'''

df = pd.read_csv(StringIO(text),comment='#',sep=';')
df
Timestamp T ID P
0 16T122109957 0 6 6

或者
df = pd.read_csv(StringIO(text),header=0,comment='#',sep=';')

来自 header 参数下的文档:

Note that this parameter ignores commented lines and empty lines if skip_blank_lines=True, so header=0 denotes the first line of data rather than the first line of the file.



不确定 skiprows这里的行为很奇怪。

关于python - 在这种情况下,为什么 read_csv skiprows 值需要低于应有的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62342424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com