我正在使用 python 处理一个 csv 文件。
我编写了以下脚本来处理文件:
import pickle
import numpy as np
from csv import reader, writer
dic1 = {'a': 2, 'b': 2, 'c': 2}
dic2 = {'a': 2,'b': 2,'c': 0}
number = dict()
for k in dic1:
number[k] = dic1[k] + dic2[k]
ctVar = {'a': [0.093323751331788565, -1.0872670058072453, '', 8.3574590513050264], 'b': [0.053169909627947334, -1.0825742255395172, '', 8.0033788558001984], 'c': [-0.44681777279768059, 2.2380488442495348]}
Var = {}
for k in number:
Var[k] = number[k]
def findIndex(myList, number):
n = str(number)
m = len(n)
for elt in myList:
e = str(elt)
l = len(e)
mi = min(m,l)
if e[:mi-1] == n[:mi-1]:
return myList.index(elt)
def sortContent(myList):
if '' in myList:
result = ['']
myList.remove('')
else:
result = []
myList.sort()
result = myList + result
return result
csv 文件的摘录如下:(信息:空白很重要。为了增加可读性,我记下了它们 BL,但它们应该只是空的情况)
这些列包含重复多次的少数元素(包括'')。
一个
0.0933237513
-1.0872670058
0.0933237513
提单
提单
0.0933237513
0.0933237513
0.0933237513
提单
第二栏:
b
0.0531699096
-1.0825742255
0.0531699096
提单
提单
0.0531699096
0.0531699096
0.0531699096
提单
第三栏:
C
-0.4468177728
2.2380488443
-0.4468177728
-0.4468177728
-0.4468177728
-0.4468177728
-0.4468177728
2.2380488443
2.2380488443
我刚刚发布了代码的摘录(我遇到了问题),我们看不到它的实用性。基本上,它是我用来修改这个 csv 文件并对其进行不同编码的较大代码的一部分。
在这个摘录中,我试图在某个点(第 68 行)对包含数字和“”的列表的元素进行排序。
当我删除执行此操作的行时,打印的元素是每列的元素(没有任何重复)。
问题是,当我尝试对它们进行排序时,'' 不再被考虑在内。然而,当我使用带有 '' 的列表测试我的函数 sortContent 时,它运行良好。
我认为这个问题与我列表中使用 numpy.float64 元素有关。所以我 将所有这些元素都转换为浮点数,但问题仍然存在。
任何帮助将不胜感激!