【问题标题】:how to write column one time in csv file in python3如何在python3的csv文件中写入一次列
【发布时间】:2019-03-05 17:55:54
【问题描述】:

我正在从新闻网站抓取数据并保存到标题、新闻和 img 变量中,然后写入 csv 文件,但我得到每个抓取行的列名重复,我只想打印时间列名然后保存我的抓取数据请帮助我 这是代码

with open(r'C:\Users\Zain Noman\Desktop\DN-data.csv', 'a+', newline='') as file:
    writer = csv.writer(file, delimiter=',')
    writer.writerow(['title','news','img-url'])
    writer.writerows([mylist])
    file.close()

see this output pic

【问题讨论】:

    标签: python csv web-crawler screen-scraping


    【解决方案1】:

    我会这样做

    file = open('C:\Users\Zain Noman\Desktop\DN-data.csv', 'a+')
    writer  = csv.writer(file) #csv wrapper
    writer.writerow(['title','news','img-url']) #write the header once
    writer.writerows(mylist) #write the the entire list assuming its a list of lists
    file.close() #close the file connection
    

    【讨论】:

    • 劳伦斯兄弟,它对我不起作用,它在字母之间添加了额外的空格:(
    • 你能告诉我你的mylist是什么样的吗?在我提供解决方案之前,我需要看到它。
    • 尝试替换这一行 writer.writerows(mylist) => writer.writerows([mylist])
    • 劳伦斯兄弟我也试过这个,但这并没有解决我的问题..我的列表包含 [title,news,img-url] 如果你打开图片链接我之前给出的问题你可以查看我的列表
    • 那么你必须逐行向下列表,只打印没有“标题”作为第一项的行。
    【解决方案2】:

    在 writerow 行使用这个之前,我找到了答案,而且很简单

    with open('C:Desktop\DN-data.csv', 'a+', newline='') as file:
    writer = csv.writer(file, delimiter=',')
    if file.tell() == 0
      writer.writerow(['title','news','img-url'])
    writer.writerows([mylist])
    file.close()
    

    【讨论】:

      猜你喜欢
      • 2019-04-07
      • 2018-07-29
      • 2011-11-04
      • 1970-01-01
      • 1970-01-01
      • 2018-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多