Python读取文本文件,按

Python读取文本文件,按,python,Python,我有一个文本文件,如下所示: 164,http://www.site.com/category1 161,http://www.site.com/category2 162,http://www.site.com/category3 163,http://www.site.com/category4 我试图在for循环中每次获得新行category id+category url。 在代码出现之前,我有其他方法: def main(): config=ConfigParser.Conf

我有一个文本文件,如下所示:

164,http://www.site.com/category1
161,http://www.site.com/category2
162,http://www.site.com/category3
163,http://www.site.com/category4
我试图在for循环中每次获得新行category id+category url。 在代码出现之前,我有其他方法:

def main():
    config=ConfigParser.ConfigParser()
    config.readfp(open("settings.cfg"),"r")
    for site in config.sections():
       # ipdb.set_trace()
        settings=dict(config.items(site))
        for (url,category) in zip(settings['url'].split(","),settings['category'].split(",")):
有人能帮我将settings.cfg的格式更改为文本文件格式吗

通过一些在线研究,我发现这是代码应该是什么样子的开始:

with open('categories.txt','r') as f:
    for line in f:

但需要按“,”和“appead”和“url”进行分类。但我担心会因为这段代码而错过第一行或最后一行。这段代码会全部阅读并起作用吗?一些帮助将是伟大的

看起来像一个csv文件。尝试:

import csv

with open('categories.txt') as fp:
    for category, url in csv.reader(fp):
        print category, url
我就是这样做的

file1 = "myFile.txt";
tFile1 = open(file1,'r')

for line in tFile1.readlines():
    lineParse = line.split(',')
    lineNumber = lineParse[0];
    urlParse = lineParse[1].split('/');
    url = urlParse[2];
    category = urlParse[3];

    print str(lineNumber)+" "+"http://"+str(url)+" "+str(category)

假设你想把它们保存在一个列表中

urlcatlist=list()
with open('categories.txt','r') as f:

    for line in f:
        urlcatlist.append(line.strip().split(","))
        #or print
        print(line.strip().split(","))

它似乎可以工作,但在一些行
回溯(最后一次调用)后出现错误:文件“readfile.py”,第4行,for类别,url in csv.reader(fp):ValueError:太多的值无法解包
。在这种情况下,您的文件与逗号分隔的值不一致。你能提供一个更大的文件示例吗?其他答案向您展示了如何使用适用于您的案例的
.split(“,”
)。否则,您可以将
类别url
替换为
,这将是一个列表。然后看看列表中有多少值。是的,我好像有一个,在某个地方删除了它,效果非常好。非常感谢。