【问题标题】:Write data in one line将数据写入一行
【发布时间】:2018-06-05 10:42:40
【问题描述】:

我将数据写入 csv 文件,格式如下:

[(789,255,25,33.0),(855,275,25,33.0)............]

我希望将其转换为如下格式:

1. 789,255,25,33.0
2. 855,275,25,33.0
   ..............

所以我想要的只是将列表中的元组转换为一个新的 csv 文件,每个元组在一个新行中。列表中的值是字符串,我想将其转换为浮点数以及如何完成它?

【问题讨论】:

  • 你能把你的逻辑贴在这里吗?
  • 逻辑已经在这里 - 所以我想要的只是将列表中的元组转换为一个新的 csv 文件,每个元组在一个新行中。列表中的值是字符串,我想将其转换为浮点数以及如何完成它?还有什么?

标签: python pandas numpy


【解决方案1】:

使用csv 模块和enumerate

例如:

import csv
data = [(789,255,25,33.0),(855,275,25,33.0)]
with open(filename, "w") as outfile:
    writer = csv.writer(outfile)
    for i, line in enumerate(data, 1):
        writer.writerow([i]+ list(line))

使用熊猫

import pandas as pd
data = [(789,255,25,33.0),(855,275,25,33.0)]
df = pd.DataFrame(data)
df.to_csv(filename, header=None)

【讨论】:

  • 很好,我得到了输出,但我得到的是逗号而不是点。 1,789,255,25,33.0 2,855,275,25,33.0
猜你喜欢
  • 1970-01-01
  • 2018-07-28
  • 1970-01-01
  • 2019-01-09
  • 2019-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多