2014-02-28 47 views
0

我在蟒蛇新,我想知道我如何写一个新的CSV文件其中包含一个简单的列表。然后我将在Excel工作表中使用此文件。写一个简单的列表到一个新的CSV文件


我整个代码:

import csv 
import urllib 
from bs4 import BeautifulSoup 

sock = urllib.urlopen("http://www.fatm.com.es/Datos_Equipo.asp?Cod=03CA0007") 
htmlSource = sock.read() 
sock.close() 
soup = BeautifulSoup(htmlSource) 

form = soup.find("form", {'id': "FORM1"}) 
table = form.find("table") 

entidad = [item.text.strip() for item in table.find_all('td')] 

valores = [item.get('value') for item in form.find_all('input')] 

lista = entidad 

i = 0 
x = 1 

while i <=10: 


    lista.insert(i+x, valores[i]) 
    i += 1 
    x += 1 

print lista 

w = csv.writer(file(r'C:\Python27\yo.csv','wb'),dialect='excel') 
w.writerows(lista) 

lista = [u'Club', 
     u'CLUB TENIS DE MESA PORTUENSE', 
     u'Nombre Equipo', 
     u'C.T.M. PORTUENSE', 
     u'Telefono fijo', 
     u'630970055', 
     u'Telefono Movil', 
     u'630970055', 
     u'E_Mail', 
     u'[email protected]', 
     u'Local de Juego', 
     u'INSTITUTO MAR DE CADIZ', 
     u'Categoria', 
     u'DIVISION HONOR ANDALUZA', 
     u'Grupo', 
     u'GRUPO 9', 
     u'Delegado', 
     u'SANCHEZ SANTANO, JOSE MARIA', 
     u'*Dias de Juego', 
     u'SABADO', 
     u'*Hora de Juego', 
     u'17:00'] 

我的结果:一个空的CSV文件。 :(

在此先感谢!

+0

题外话:内置'file'是在Python 3.取出时要打开一个文件,你应该使用'open'。 –

+0

你有错误吗? – msvalkon

+0

你能告诉我们你有LISTA?如果你能写出一个简单的文章来重现这个问题,那将会非常有帮助。 –

回答

0

在这里你去:

import csv 

lista = [u'Club', 
     u'CLUB TENIS DE MESA PORTUENSE', 
     u'Nombre Equipo', 
     u'C.T.M. PORTUENSE', 
     u'Telefono fijo', 
     u'630970055', 
     u'Telefono Movil', 
     u'630970055', u'E_Mail', u'[email protected]', u'Local de Juego', u'INSTITUTO MAR DE CADIZ', u'Categoria', u'DIVISION HONOR ANDALUZA', u'Grupo', u'GRUPO 9', u'Delegado', u'SANCHEZ SANTANO, JOSE MARIA', u'*Dias de Juego', u'SABADO', u'*Hora de Juego', u'17:00'] 

header = [] 
row = [] 
for i, val in enumerate(lista): 
    if i%2==0: 
     header.append(val) 
    else: 
     row.append(val) 

out = open('file.csv', 'w') 

w = csv.writer(out, dialect='excel') 
w.writerow(header) 
w.writerow(row) 
out.close() 

作为后续行动方面的问题,我会替你做的是为您的列名一个列表,如:

header = ['col_name1', 'col_name2', ... ] 

和类似值列表的列表:

values = [ 
    [row1_val1, row1_val2, ...], 
    [row2_val1, row2_val2, ...], 
    ... 
] 

然后,你可以这样做:

w.writerow(header) 
for row in values: 
    w.writerow(row) 

检查csv模块的文档,有可能是写在一气呵成的所有行的方式。我从来没有用过它。

+0

非常感谢!现在,我会尽量分别把这个数据colomns和行......我希望我会弄清楚。 – juasmilla

+0

我很高兴:-)注意,行中的结构已定义。但它可能有助于在脚本中拆分列定义和行值。您将拥有一个列定义列表,以及所有行的列表列表。祝你好运! –

+0

它应该是:2列和11rows - > ROW1:[LISTA [0],LISTA [1]]。 Row2 [lista [2],lista [3]] ....任何想法?谢谢!! – juasmilla

相关问题