簡體   English   中英

如何在Python中為每個ID打印到.csv

[英]how do you print to .csv for each ID in Python

import urllib
import re
import csv

player_code = open("Desktop/OHL PYTHON/test2.txt").read()

player_code = player_code.split("\r")

for pc in player_code:
    htmlfile = urllib.urlopen( "http://www.eliteprospects.com/iframe_player_stats_small.php?player="+pc+"")

    htmltext = htmlfile.read()  
    regex = '<font color="#000099">(.+?)</font>'  
    pattern = re.compile(regex)
    team = re.findall(pattern,htmltext)
    data = pc, team


    with open('my_games.csv', 'w') as csvfile:
        fieldnames = ['pc', 'team','League', 'Gp', 'G','A','P','Pims']
        writer = csv.DictWriter(csvfile, fieldnames=fieldnames,delimiter= ":",
                                extrasaction ='ignore')
        i=0
        writer.writeheader()
        for pc in player_code:
            writer.writerow({'pc':[pc],'team':[team]})
            i+=1

這只是一遍又一遍地返回一行數據。 任何方向都會有所幫助! 謝謝。

您應該在for循環之前打開文件或使用a+模式。 w打開文件並在每次打開時截斷其數據。

with open('my_games.csv', 'w') as csvfile:
    for pc in player_code:

要么

with open('my_games.csv', 'a+') as csvfile

打開文件一次是更好的方法。

由於您為了寫入數據而循環兩次,因此您有多行。 只需刪除

i=0
for pc in player_code:
    writer.writerow({'pc':[pc],'team':[team]})
        i+=1

而只是擁有,我認為它會起作用。

writer.writerow({'pc':[pc],'team':[team]})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM