【问题标题】:Writing on csv file with extra spacings [duplicate]在带有额外间距的csv文件上写入[重复]
【发布时间】:2021-12-28 17:16:22
【问题描述】:

我正在生成 21 个字符的数字,我想将生成的每个数字写入 csv 文件。

输出在每个数字的每个字符之间都有空格,所以我有 "001657618586303086816" 而不是 "0 0 1 6 5 ... 1 6"

这是我的代码:

def generate_numbers(n):
    f=open("data.csv","a",newline='')
    writer=csv.writer(f,delimiter=' ')

    for i in range(n):
        numb='0016' + str(randint(111111111111111,999999999999999)) + '16'
    
        writer.writerow(nib)
        
f.close()

【问题讨论】:

  • 我试着弄乱作者,我注意到如果我将分隔符更改为“,”我会得到每个数字的字符用逗号分隔。所以我认为问题在于分隔符,但它的大小必须为 1。我为什么要执行 str.split()?如果我想连接字符?不确定我是否理解这一点
  • 抱歉,我误解了你的问题,完全倒过来解释了。
  • 如果您根本不使用分隔符,我质疑您为什么要使用 csv 模块。你可以使用标准的file i/o interface 来编写它,然后添加一个.csv 扩展
  • 确实解决了!太感谢了!!我使用 csv 模块,因为这是我所知道的,但我会查看文件 i/o 接口,使用它可能更有意义

标签: python csv export-to-csv


【解决方案1】:

但是,你是在自己添加空格,不是吗?

(f,delimiter=' ')

单引号之间有空格

【讨论】:

  • 是的,你是对的。我注意到这是问题所在,但不知道如何解决它,因为我无法取出分隔符
猜你喜欢
  • 2014-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-06
  • 1970-01-01
  • 2014-03-31
  • 1970-01-01
相关资源
最近更新 更多