这里有点小问题
for row in reader:
dane_wejsciowe.append(row)
我有一些*.csv文件我想转换,我的转换器行为怪异。。。 上面的函数将所有需要的列放入一个数组,然后我调用这些列来计算其长度:
for line in dane_wejsciowe:
if len(line['Mnemonik']) > len_mnemonik:
len_mnemonik += 1
之后,我打印记录print(' - Mnemonik: ' + str(len_mnemonik))
,结果是22
,但最长的是BEUS_EnergyDriveAvgDist
,其中包含_
,我怀疑它不计算特殊字母
我把它打印成文件的“白痴”想法是
if len(i['Mnemonik']) < len_mnemonik:
a = len_mnemonik - len(i['Mnemonik']) + 1
else:
a = 1
jsfile.write(i['Mnemonik']),
jsfile.write((' ')*a),
有人有更好的主意吗?:)
看起来您正在使用
csv.reader()
收集每一行,这将使用命令中指定的分隔符(默认值为逗号)自动将每一行解析为一个列表。因此,变量dane_wejsciowe
是一个列表(?)列表,其中每个外部元素(例如dane_wejsciowe[0]
)是CSV文件的一行,每个内部元素(例如dane_wejsciowe[0][0]
)是CSV文件该行中的一个单元格。因此,您的len()==22
与文本BEUS_EnergyDriveAvgDist
无关,而是告诉您CSV中的列数我不知道为什么您认为上面的代码最终会给您
len_mnemonik
的最大值,特别是+= 1
部分。相反,你应该:或:
(无if声明)
相关问题 更多 >
编程相关推荐