我正在尝试打开一个csv文件并将值从字符串转换为整数,以便我可以对列表进行排序。我收到的结果是:
" [[],[' 190'],[' 200'],[' 250'],[' 350& #39;],[' 90']]"。
这是我的原始代码。
import csv
def bubbleSort(scores):
for length in range(len(scores)-1,0,-1):
for i in range(length):
if scores[i]>scores[i+1]:
temp = scores[i]
scores[i] = scores[i+1]
scores[i+1] = temp
with open ("rec_Scores.csv", "rb") as csvfile:
r = csv.reader(csvfile)
scores = list(r)
bubbleSort(scores)
print(scores)
我尝试添加一行:
scores_int = [int(score[0]) for score in scores]
现在我收到错误" IndexError:列表索引超出范围"
以下是我正在使用的代码的当前版本:
import csv
def bubbleSort(scores):
for length in range(len(scores)-1,0,-1):
for i in range(length):
if scores[i]>scores[i+1]:
temp = scores[i]
scores[i] = scores[i+1]
scores[i+1] = temp
with open ("rec_Scores.csv", "rb") as csvfile:
r = csv.reader(csvfile)
scores = list(r)
scores_int = [int(score[0]) for score in scores]
bubbleSort(scores_int)
print(scores_int)
如果有人能帮我解决当前的问题,我将不胜感激。感谢。
答案 0 :(得分:0)
如果csv文件逐行包含数字,则此代码正在运行(python 2.7):
public function configureDatagridFilters(DatagridMapper $datagridMapper)
{
$datagridMapper->add('parent', 'doctrine_phpcr_callback', array('callback' =>
function ($proxyQuery, $alias, $field, $data) {
if (!$data || !is_array($data) || !array_key_exists('value', $data) || !$data['value']) {
return;
}
$queryBuilder = $proxyQuery->getQueryBuilder();
$queryBuilder->from($alias)
->joinInner()
->left()->document(Profile::class, $alias)->end()
->right()->document(Department::class, 'd')->end()
->condition()->child($alias, 'd')->end();
$queryBuilder->andWhere()->same($data['value']->getId(), 'd')->end();
return true;
}
), 'phpcr_document', array('class' => Department::class));
parent::configureDatagridFilters($datagridMapper);
}