我创建了一个包含两列的csv文件,第一列是时间数据,第二列是一些测量数据值。
2015/1/1 0:00 5
2015/1/1 0:15 10
2015/1/1 0:30 10
2015/1/1 0:45 15
2015/1/1 1:00 5
2015/1/1 1:15 20
2015/1/1 1:30 20
2015/1/1 1:45 40
2015/1/1 2:00 30
2015/1/1 2:15 20
2015/1/1 2:30 25
2015/1/1 2:45 10
2015/1/1 3:00
2015/1/1 3:15
2015/1/1 3:30
2015/1/1 3:45
2015/1/1 4:00
2015/1/1 4:15
2015/1/1 4:30 30
2015/1/1 4:45 50
2015/1/1 5:00 70
现在我想使用numpy.loadtxt
函数将这两列读入两个不同的numpy数组,其中包含日期列的字符串数据类型和值列的整数数据类型。
我尝试了不同的陈述,但没有一个能奏效。
time, data = np.loadtxt('TS.csv',dtype=str,delimiter=',',usecols=(0, 1),unpack=True)
time, data = np.loadtxt('TS.csv',dtype=(str,int),delimiter=',',usecols=(0, 1),unpack=True)
time, data = np.loadtxt('TS.csv',dtype=[str,int],delimiter=',',usecols=(0, 1),unpack=True)
有谁知道如何实现我刚才描述的目标? 谢谢你的帮助!
答案 0 :(得分:0)
你非常接近你想要的东西。试试这个
data = np.loadtxt('TS.csv', dtype='str,int', delimiter=',', usecols=(0, 1), unpack=True)
答案 1 :(得分:0)
如果您有np.genfromtxt
无法处理的内容,我通常会建议np.loadtxt
,但是如果缺少数据,它们都会使用空格分隔的文件。例如,如果没有逗号分隔符,很难定义缺少的数据点。
可能起作用的类似功能是pd.read_csv
或pd.read_table
(大多数情况下都是相同的),它确实可以解决此问题。只需确保使用这种文件格式将参数delim_whitespace
设置为True
。
pd.read_table('TS.csv', delim_whitespace=True, header=None)