You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

加载含日期字符串与整数列的TXT文件遇问题,求简便处理方法

解决方案:加载含日期和数值的文本文件

我来帮你搞定这个问题!你遇到的情况其实很典型——NumPy默认会把所有数据当成数值类型解析,所以碰到日期字符串就报错;而Pandas没正确识别分隔符的话,就会把整行内容塞进一列里。下面给你两种简单直接的解决办法:

方法一:用NumPy加载并拆分数据

因为你的文件包含字符串(日期)和整数两种类型,不能用默认的float解析,得指定结构化数据类型来分别处理两列:

假设你的文本文件每行是用空格分隔的(比如 12/31/19 500 这种格式),可以这么写代码:

import numpy as np

# 定义结构化dtype:第一列是字符串(长度10足够存日期),第二列是整数
data = np.loadtxt('your_file.txt', dtype=[('date', 'U10'), ('value', int)])

# 提取成独立的数组
dates = data['date']
values = data['value']

这样dates就是存所有日期字符串的数组,values是对应的整数数组,完美拆分!

方法二:用Pandas加载并拆分数据

你之前用Pandas没成功分隔,大概率是没指定正确的分隔符。比如如果文件是用空格(或多个连续空格)分隔的,一定要加上sep='\s+'参数;如果是逗号分隔就用sep=','。

示例代码如下:

import pandas as pd

# 读取文件:指定分隔符,自定义列名(如果你的文件第一行就是表头,去掉header=None和names参数即可)
df = pd.read_csv('your_file.txt', sep='\s+', header=None, names=['date', 'value'])

# 转成你需要的列表或NumPy数组
dates_list = df['date'].tolist()  # 日期列表
values_array = df['value'].to_numpy()  # 数值数组

如果你的文件本身第一行就是date和value表头,那代码可以简化成:

df = pd.read_csv('your_file.txt', sep='\s+')
dates_list = df['date'].tolist()
values_array = df['value'].to_numpy()

这样就能轻松把两列内容分别存入独立的列表或数组啦!

内容的提问来源于stack exchange,提问作者alwaysq2000

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 10:12:45