gpt4 book ai didi

python - 在使用 numpy 读取 txt 文件时跳过包含字符串的结尾行以生成数值数组

转载 作者:太空狗 更新时间:2023-10-29 22:16:48 28 4
gpt4 key购买 nike

我正在尝试生成一个从 Internet 读取文本文件的数组。

我的目标是使用 Python 而不是 MATLAB,在 MATLAB 中替换这一步:

url=['http://www.cdc.noaa.gov/Correlation/amon.us.long.data'];
urlwrite(url,'file.txt');

我正在使用这段代码:

urllib.urlretrieve('http://www.cdc.noaa.gov/Correlation/amon.us.long.data', '/Users/epy/file2.txt')
a = np.loadtxt('/Users/epy/file2.txt', skiprows=1, dtype=None)

但由于文件末尾的文本描述而失败。

你知道是否存在一种方法可以跳过最后的 X 行,或者我必须使用某种字符串操作(readlines?)来代替吗?

最佳答案

对于更复杂的文本加载,请查看 numpy.genfromtxt .

它比 numpy.loadtxt 慢,但更灵活。

在您的情况下(我避免在此处保存临时文件...):

import numpy as np
import urllib2

url = 'http://www.cdc.noaa.gov/Correlation/amon.us.long.data'
data = np.genfromtxt(urllib2.urlopen(url), skip_header=1, skip_footer=4)

关于python - 在使用 numpy 读取 txt 文件时跳过包含字符串的结尾行以生成数值数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7894504/

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