我有一个文本文件,我想加载到<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
数组中?
由于
答案 0 :(得分:2)
numpy.genfromtxt
或numpy.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")