在Linux上使用Python读取文件(UTF-8 Unicode文本,csv)时,可以使用:
有些列的值得到一个零作为它们的第一个字符(输入中没有零),其他列得到几个零,这在使用Geany或任何其他编辑器查看文件时是看不到的。例如:
输入
10016;9167DE1;Tom;Sawyer ;Street 22;2610;Wil;;378983561;tom@hotmail.com;1979-08-10 00:00:00.000;0;1;Wil;081208608;NULL;2;IZMH726;2010-08-30 15:02:55.777;2013-06-24 08:17:22.763;0;1;1;1;NULL
输出
10016;9167DE1;Tom;Sawyer ;Street 22;2610;Wil;;0378983561;tom@hotmail.com;1979-08-10 00:00:00.000;0;1;Wil;081208608;NULL;2;IZMH726;2010-08-30 15:02:55.777;2013-06-24 08:17:22.763;0;1;1;1;NULL
请参见378983561>;0378983561 阅读方式:
f = file('/home/foo/data.csv', 'r')
data = f.read()
split_data = data.splitlines()
lines = list(line.split(';') for line in split_data)
print data[51220][8]
>>> '0378983561' #should have been '478983561' (reads like this in Geany etc.)
与相同的结果csv.reader文件(). 你知道吗
帮我解开谜团,是什么原因造成的?是否与编码/解码有关?你知道吗
你得到的数据是一个字符串。你知道吗
如果要将其用作整数,应该对其进行解析。你知道吗
如果要将其作为字符串,则应将其转换回字符串。你知道吗
你知道吗csv.reader文件将所有列视为字符串。转换为适当的类型由您决定,如:
相关问题 更多 >
编程相关推荐