如何在Python中为每个ID打印到.csv 导入urllib 进口稀土 导入csv player_code=open(“Desktop/ohlpython/test2.txt”).read() 玩家代码=玩家代码。拆分(“\r”) 对于播放器代码中的pc: htmlfile=urllib.urlopen(“http://www.eliteprospects.com/iframe_player_stats_small.php?player=“+pc+”) htmltext=htmlfile.read() 正则表达式='(.+?)' pattern=re.compile(regex) team=re.findall(模式,htmltext) 数据=个人电脑,团队 将open('my_games.csv','w')作为csvfile: FieldName=['pc'、'team'、'League'、'Gp'、'G'、'A'、'P'、'Pims'] writer=csv.DictWriter(csvfile,fieldnames=fieldnames,delimiter=“:”, 溢出(忽略) i=0 writer.writeheader() 对于播放器代码中的pc: writer.writerow({'pc':[pc],'team':[team]}) i+=1

如何在Python中为每个ID打印到.csv 导入urllib 进口稀土 导入csv player_code=open(“Desktop/ohlpython/test2.txt”).read() 玩家代码=玩家代码。拆分(“\r”) 对于播放器代码中的pc: htmlfile=urllib.urlopen(“http://www.eliteprospects.com/iframe_player_stats_small.php?player=“+pc+”) htmltext=htmlfile.read() 正则表达式='(.+?)' pattern=re.compile(regex) team=re.findall(模式,htmltext) 数据=个人电脑,团队 将open('my_games.csv','w')作为csvfile: FieldName=['pc'、'team'、'League'、'Gp'、'G'、'A'、'P'、'Pims'] writer=csv.DictWriter(csvfile,fieldnames=fieldnames,delimiter=“:”, 溢出(忽略) i=0 writer.writeheader() 对于播放器代码中的pc: writer.writerow({'pc':[pc],'team':[team]}) i+=1,python,regex,csv,url,Python,Regex,Csv,Url,这只是一次又一次地返回一行数据。任何方向都会有帮助!谢谢。您应该在for循环之前打开文件,或者使用a+模式w打开文件并在每次打开时截断其数据 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.

这只是一次又一次地返回一行数据。任何方向都会有帮助!谢谢。

您应该在for循环之前打开文件,或者使用
a+
模式
w
打开文件并在每次打开时截断其数据

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

打开一次文件将是更好的方法

由于写入数据要循环两次,因此有多行。移除

with open('my_games.csv', 'a+') as csvfile
相反,我认为它会起作用

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

您应该在for循环之前打开文件,或者使用
a+
模式
w
打开文件并在每次打开时截断其数据

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

打开一次文件将是更好的方法

由于写入数据要循环两次,因此有多行。移除

with open('my_games.csv', 'a+') as csvfile
相反,我认为它会起作用

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

寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:。寻求调试帮助的问题(“为什么此代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现该问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。见:。谢谢。这是我现在需要的所有数据。但是,它仍然为每个id生成多行,而不是为每个id生成一行。有什么建议吗?再次感谢你!我是如此接近@谢谢。这是我现在需要的所有数据。但是,它仍然为每个id生成多行,而不是为每个id生成一行。有什么建议吗?再次感谢你!我是如此接近@阿施施