【问题标题】:Want to add comma between values then export to csv想要在值之间添加逗号然后导出到 csv
【发布时间】:2017-10-09 13:49:19
【问题描述】:

我在 csv 文件中有多个值:

400105115

400114115

400503115

我想在每个值后面加一个逗号,所以它看起来像这样:

400105115、400114115、400503115、

这是我写的代码:

import numpy 
data=numpy.loadtxt(fname='/home/user/Desktop/caseno.csv', delimiter=',')
data2= [ int(x) for x in data ]
data3=list(data2)
print(data3)

import pandas
pd = pandas.DataFrame(data3)
pd.to_csv("mylist.csv", index=False, header=False)

这个问题是,这会导致以下输出:

400105115

400114115

400503115

它没有添加任何逗号,我认为创建一个列表就可以了。有什么建议吗?

【问题讨论】:

  • 您的输入中只有 1 个逐行字段。不能出现分隔符。

标签: python csv dataframe export


【解决方案1】:

我认为你需要read_fwfDataFrame.to_csv

df = pd.read_fwf(file, sep=";",  header=None, widths=[1] * 9)
print (df)
   0  1  2  3  4  5  6  7  8
0  4  0  0  1  0  5  1  1  5
1  4  0  0  1  1  4  1  1  5
2  4  0  0  5  0  3  1  1  5

df.to_csv("mylist.csv", index=False, header=False)

【讨论】:

    【解决方案2】:

    如果我正确地回答了您的问题,您想为输出 .csv 文件添加字段分隔符。根据文档:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html

    只需使用 sep 标志。例如,如果您想在每个值后使用制表符:

    df.to_csv(file_name, sep='/t', encoding='utf-8')
    

    sep 的默认值为‘,’

    【讨论】:

    • 我试过是下面的代码,但它仍然没有在输出 csv 文件中的值之间插入逗号。 df = pandas.DataFrame(data3) df.to_csv("mylist.csv", sep=',', encoding='utf-8', index=False, header=False)
    【解决方案3】:

    感谢大家的意见。我能够通过以下方式解决它: df.to_csv(..., line_terminator=',\n')。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-09
      • 1970-01-01
      • 2018-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-05
      相关资源
      最近更新 更多