gpt4 book ai didi

python - 使用 pandas.read_csv 分隔列

转载 作者:行者123 更新时间:2023-12-01 03:57:28 25 4
gpt4 key购买 nike

我正在尝试将一个较大的 .txt 文件中的一个表读入 python 中。

数据摘录如下:

2 Network magnitudes:
MLv 2.05 +/- 1.34 7
M 2.05 7 preferred

7 Phase arrivals:
sta net dist azi phase time res wt sta
BMOR EC 0.0 226 P 00:22:31.385 -0.6 M 1.0 BMOR
BREF EC 0.0 347 P 00:22:31.543 -0.5 M 1.0 BREF
BTAM EC 0.0 58 P 00:22:31.796 -0.3 M 1.0 BTAM
BVC2 EC 0.0 26 P 00:22:33.061 0.8 M 1.0 BVC2
BNAS EC 0.1 294 P 00:22:32.871 -0.1 M 1.0 BNAS
SUCR EC 0.1 314 P 00:22:34.610 0.6 M 1.0 SUCR
BRRN EC 0.1 207 P 00:22:34.768 0.4 M 1.0 BRRN

7 Station magnitudes:
sta net dist azi type value res amp per
BMOR EC 0.0 226 MLv 1.48 -0.57 1.20076

我只想要阶段到达表,因此 np.loadtextnp.genfromtxt 由于各种原因都达不到要求(无法处理数字和字符串/包含a bug 除非您仅指定一个空格 (' ') 分隔符,我在这里不能这样做)

我一直在尝试使用 pandas.read_csv 函数,但它无法识别分隔符

a = pd.read_csv(datafileloc, sep='\+s', skiprows=5, skipfooter=3)

产生:

a
Out[90]:
sta net dist azi phase time res wt sta
0 BMOR EC 0.0 226 P 00:22:31.385 -0....
1 BREF EC 0.0 347 P 00:22:31.543 -0....
2 BTAM EC 0.0 58 P 00:22:31.796 -0....
3 BVC2 EC 0.0 26 P 00:22:33.061 0....
4 BNAS EC 0.1 294 P 00:22:32.871 -0....
5 SUCR EC 0.1 314 P 00:22:34.610 0....
6 BRRN EC 0.1 207 P 00:22:34.768 0....

除了它们都是一个字符串并且没有注意空格分隔符之外,它看起来不错:

a.values
Out[89]:
array([['BMOR EC 0.0 226 P 00:22:31.385 -0.6 M 1.0 BMOR'],
['BREF EC 0.0 347 P 00:22:31.543 -0.5 M 1.0 BREF'],
['BTAM EC 0.0 58 P 00:22:31.796 -0.3 M 1.0 BTAM'],
['BVC2 EC 0.0 26 P 00:22:33.061 0.8 M 1.0 BVC2'],
['BNAS EC 0.1 294 P 00:22:32.871 -0.1 M 1.0 BNAS'],
['SUCR EC 0.1 314 P 00:22:34.610 0.6 M 1.0 SUCR'],
['BRRN EC 0.1 207 P 00:22:34.768 0.4 M 1.0 BRRN']], dtype=object)

可以使用 list(a.values[0])[0].split() 分隔行,但这需要重新组织才能获得各个列。我想让 pandas.read_csv 认识到它们是分开的,这样我就可以提取各个列(一旦我扩大规模,相当高效就变得很重要)

我哪里出错了?

最佳答案

正如 DSM 所指出的,这是分隔符中的拼写错误:

\s+,而不是 \+s

来自 the documentation 中的拼写错误,在 delim_whitespace 参数标题下。

关于python - 使用 pandas.read_csv 分隔列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37199334/

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