写csv会错误地分割结果

时间:2014-07-27 18:14:39

标签: python csv

我试图在csv文件中写入向量的元素。这些是向量的前3个元素,称为questao(questao是一个以questao = {}开头的dict):

A titulação genérica de Administração Pública, usada pelo legislador constituint
e de 1988, ao tratar da Organização do Estado, para efeito de sujeição dos seus
atos à obediência de determinados princípios fundamentais e à observância de out
ras exigências, restrições ou limitações ali declinadas, abrange e alcança

O regime jurídico administrativo, posto em relação com o direito privado, acarre
ta a assertiva de que

A natureza do regime jurídico único dos servidores públicos federais é de ordem
predominantemente

我用这段代码打印了它:

>>> for i in range(0,3):
...  print questao[i]

但是当我尝试使用以下代码写入csv时:

>>> ofile  = open('teste.csv', "wb")
>>> writer = csv.writer(ofile, delimiter=';')
>>> for i in range(0,len(questao)):
...  writer.writerow(questao[i])

我在test.csv中得到以下输出(它是一个样本,而不是来自上面相同的元素):

A; ;t;i;t;u;l;a;‡;Æ;o; ;g;e;n;‚;r;i;c;a; ;d;e; ;A;d;m;i;n;i;s;t;r;a;‡;Æ;o; ;P;£;b;l;i;c;a;,; ;u;s;a;d;a; ;p;e;l;o; ;l;e;g;i;s;l;a;d;o;r; ;c;o;n;s;t;i;t;u;i;n;t;e; ;d;e; ;1;9;8;8;,; ;a;o; ;t;r;a;t;a;r; ;d;a; ;O;r;g;a;n;i;z;a;‡;Æ;o; ;d;o; ;E;s;t;a;d;o;,; ;p;a;r;a; ;e;f;e;i;t;o; ;d;e; ;s;u;j;e;i;‡;Æ;o; ;d;o;s; ;s;e;u;s; ;a;t;o;s; ;…; ;o;b;e;d;i;ˆ;n;c;i;a; ;d;e; ;d;e;t;e;r;m;i;n;a;d;o;s; ;p;r;i;n;c;¡;p;i;o;s; ;f;u;n;d;a;m;e;n;t;a;i;s; ;e; ;…; ;o;b;s;e;r;v;ƒ;n;c;i;a; ;d;e; ;o;u;t;r;a;s; ;e;x;i;g;ˆ;n;c;i;a;s;,; ;r;e;s;t;r;i;‡;ä;e;s; ;o;u; ;l;i;m;i;t;a;‡;ä;e;s; ;a;l;i; ;d;e;c;l;i;n;a;d;a;s;,; ;a;b;r;a;n;g;e; ;e; ;a;l;c;a;n;‡;a; ; 

1 个答案:

答案 0 :(得分:1)

代码输出预期的输出。如果在Python中迭代字符串,则会获得单个字符。您可能是按段落(按行)或可能按空格划分。在任何一种情况下,这都应该有所帮助:

http://www.tutorialspoint.com/python/string_split.htm

mystring.split(str.split("\n"));

或类似的可能是你所追求的。 (有时\ r \ n。有人可能有独立于平台的解决方案)