NumPy loadtext()

时间:2015-06-24 11:09:08

标签: python arrays numpy

我有一个文本文件,我想加载到<tr> <td valign="top" style="width: 150px;">Status</td> <td> <select name='call_status'> <option value='0'<?php if($site_calls->call_status == 0){echo ' selected';}?>>Open</option> <option value='2'<?php if($site_calls->call_status == 2){echo ' selected';}?>>Checking</option> <option value='1'<?php if($site_calls->call_status == 1){echo ' selected';}?>>Closed</option> <option value='3'<?php if($site_calls->call_status == 3){echo ' selected';}?>>Deleted</option> </select> </td> </tr> <tr> <td>Staff</td> <td> <select name='call_staff'> <option value="0"></option> <?php $staff_name = $db->get_results("select user_id,user_name from site_users where user_level<>1 order by user_name;"); foreach ($staff_name as $staff ) {?> <option value='<?php echo $staff->user_id;?>'<?php if($staff->user_id == $call_staff){echo ' selected';}?>> <?php echo $staff->user_name;?> </option> <?php } ?> </select> </td> </tr> 数组NumPy。该文件是制表符分隔的,有时我在最后一个选项卡后面有一个值而不是空:

loadtext()

但是,Value1\tab\Value2\tab\value3\tab Value4\tab\Value5\tab\value6\tab\value7 Value8\tab\Value9\tab\value10\tab Value11\tab\Value12\tab\value13\tab 给了我一行错误:

NumPy

是否可以将这样的数据结构直接加载到ValueError: Wrong number of columns 数组中(NumPy作为值)?或者我是否必须打开文件,插入如果没有值,则None并将操纵的文本文件加载到None数组中?

由于

2 个答案:

答案 0 :(得分:2)

numpy.genfromtxtnumpy.loadtxt都无法处理文件中不均匀的列数。如果您有权访问pandas,则可以使用pandas.read_table完成您的操作。

import pandas as pd
df = pd.read_table('myfile.txt',header=None,sep='\t')

# to get the data in a numpy ndarray:
myarray = df.values

默认情况下,会为NaN分配缺失值,但您可以使用df.fillna(value)更改

答案 1 :(得分:0)

您可以使用np.genfromtxt

import numpy as np
my_array = np.genfromtxt("myfile.txt", delimiter="\t")