【问题标题】:Space between words when writing to csv写入csv时单词之间的空格
【发布时间】:2018-02-04 00:25:41
【问题描述】:

当我执行以下行时。我收到每个字母之间的空格,并且单词格式不正确。任何帮助表示赞赏。

import csv
with open('u2.csv', 'w', newline='') as csvfile:
    wf = csv.writer(csvfile, delimiter = '\t')
    for key in wordcount.keys():
        wf.writerow("%s %s"  %(key, wordcount[key]))

【问题讨论】:

  • wf.writerow 接受一个列表,而不是一个字符串。通过[key, wordcount[key]] 无需任何手动格式化。
  • 编辑问题以包含wordcount 的小示例以及u2.csv 中的输出应该是什么样子。我假设您使用的是 Python 3.x?

标签: python csv


【解决方案1】:

当使用 Python 的 CSV 库时,writerow() 函数采用一个列表并将每个元素写入文件中,并在每个元素之间使用您选择的分隔符。所以你需要给它一个列表。在您的情况下,您需要通过将 [ ] 中的值括起来来创建两个元素的列表,如下所示:

import csv

wordcount = {'hello' : 2, 'world' : 5}

with open('u2.csv', 'w', newline='') as f_output:
    csv_output = csv.writer(f_output, delimiter='\t')

    for word, count in wordcount.items():
        csv_output.writerow([word, count])

这种方法还避免了您必须查找每个键的计数。

你会得到一个输出 u2.csv 看起来像:

world   5
hello   2

【讨论】:

    【解决方案2】:

    我认为这可以帮助你:

    import csv
    
    Lists = [jassim, Greeshma, Abhirami, sourav]
    
    with open ("name_list", "w", newline = ' ') as list:
        for names in Lists:
            Writer = CSV.writer(list , delimiter='\t')
            Writer.write(names)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-31
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多