gpt4 book ai didi

python - pandas read_csv 忽略最后一列中的分隔符

转载 作者:太空宇宙 更新时间:2023-11-03 14:53:56 24 4
gpt4 key购买 nike

我有一个具有以下结构的文件(第一行是标题,文件名是 test.dat):

ID_OBS          LAT     LON     ALT TP TO LT_min LT_max STATIONNAME
ALT_NOA_000 82.45 -62.52 210.0 FM 0 0.0 24.0 Alert, Nunavut, Canada

如何指示 pandas 将整个站点名称(在本例中为 Alert, Nunavut, Canada)作为单个元素读取?我在我的代码中使用 delim_whitespace=True,但这不起作用,因为站名包含空白字符。

运行:

import pandas as pd
test = pd.read_csv('./test.dat', delim_whitespace=True, header=1)
print(test.to_string())

产生:

                   ID_OBS    LAT LON  ALT   TP    TO  LT_min    LT_max STATIONNAME
ALT_NOA_000 82.45 -62.52 210.0 FM 0 0.0 24.0 Alert, Nunavut, Canada

快速阅读教程并没有帮助。我在这里缺少什么?

最佳答案

我经常通过编写自己的小解析器来处理这些问题。一般来说,有很多方法可以让 pandas 屈服于你的意志,但我发现这种方法通常更容易:

代码:

import re

def parse_my_file(filename):
with open(filename) as f:
for line in f:
yield re.split(r'\s+', line.strip(), 8)

# build the generator
my_parser = parse_my_file('test.dat')

# first element returned is the columns
columns = next(my_parser)

# build the data frame
df = pd.DataFrame(my_parser, columns=columns)
print(df)

结果:

        ID_OBS    LAT     LON    ALT  TP TO LT_min LT_max  \
0 ALT_NOA_000 82.45 -62.52 210.0 FM 0 0.0 24.0

STATIONNAME
0 Alert, Nunavut, Canada

关于python - pandas read_csv 忽略最后一列中的分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44121008/

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