【问题标题】:Python join data lines togetherPython将数据线连接在一起
【发布时间】:2017-02-08 17:04:32
【问题描述】:

您好,我有几千行数据集,分为偶数行和奇数行,我找不到将它们再次连接到同一行中的方法。读取文件并覆盖它是可以的,或者创建一个新文件。

我发现这个example 可以打印单独的行,但无法将其写入文件。

我希望它看起来像这样:

Time = 1 Temperature1 = 24.75 Temperature2 = 22.69 Temperature3 = 20.19 RPM = -60.00
Time = 2 Temperature1 = 24.75 Temperature2 = 22.75 Temperature3 = 20.19 RPM = -60.00
etc...

数据集示例:

Time = 1 Temperature1 = 24.75 Temperature2 = 22.69 Temperature3 = 20.19
 RPM = -60.00
Time = 2 Temperature1 = 24.75 Temperature2 = 22.75 Temperature3 = 20.19
 RPM = -60.00
Time = 3 Temperature1 = 24.75 Temperature2 = 22.75 Temperature3 = 20.19
 RPM = -60.00
Time = 4 Temperature1 = 24.81 Temperature2 = 22.81 Temperature3 = 20.25
 RPM = -60.00
Time = 5 Temperature1 = 24.81 Temperature2 = 22.81 Temperature3 = 20.19
 RPM = -60.00
Time = 6 Temperature1 = 24.81 Temperature2 = 22.81 Temperature3 = 20.19
 RPM = -60.00
Time = 7 Temperature1 = 24.81 Temperature2 = 22.81 Temperature3 = 20.25
 RPM = -60.00
Time = 8 Temperature1 = 24.81 Temperature2 = 22.87 Temperature3 = 20.25
 RPM = -60.00
Time = 9 Temperature1 = 24.87 Temperature2 = 22.87 Temperature3 = 20.25
 RPM = -60.00
Time = 10 Temperature1 = 24.87 Temperature2 = 22.87 Temperature3 = 20.25
 RPM = -60.00

【问题讨论】:

  • 我推荐使用 pandas 数据框。您可以轻松地将其合并并保存到文件中。
  • 你能举个例子吗?我是 python 的新手,不认识 pandas 数据框,正在查看它的文档,但看不到如何将它应用于我的问题。

标签: python python-2.7 dataset


【解决方案1】:

您可以使用%(模数)来确定线是奇数还是偶数。如果是偶数,则将最后一行和当前行连接在一起。

# Using your dataset as a string
data_split = data.split("\n")

for i in range(len(data_split)):
    if i % 2:
        lines = [data_split[i-1], data_split[i]]
        print " ".join(lines)

输出:

时间 = 1 温度1 = 24.75 温度2 = 22.69 温度3 = 20.19 RPM = -60.00

时间 = 2 温度1 = 24.75 温度2 = 22.75 温度3 = 20.19 RPM = -60.00

时间 = 3 温度1 = 24.75 温度2 = 22.75 温度3 = 20.19 RPM = -60.00

...

【讨论】:

  • 是的,我可以看到它作为一个字符串工作,但是当我导入我的文件时,拆分命令不适用于文件类型,然后它不会打印出任何东西。而且我不确定如何从 IF 语句写入文件。 (我是 python 新手)
  • 管理使用 [code]data=myfile.read() 将文件读入 str 变量
  • 让它与您的代码一起使用:with open('LOGT.txt', 'r') as myfile: data=myfile.read() data_split = data.split("\n") for i in range(len(data_split)): if i % 2: lines = [data_split[i-1], data_split[i]] joined = " ".join(lines) fh = open("LOGT1.txt","a") fh.write(joined) fh.write("\n") fh.close()
  • 或者你可以使用readline()来检查这条线是奇数还是偶数。很高兴你有一些工作。
猜你喜欢
  • 2011-12-12
  • 1970-01-01
  • 2012-01-31
  • 2011-08-09
  • 2012-03-02
  • 1970-01-01
  • 2018-04-24
  • 2015-12-03
相关资源
最近更新 更多