使用带Pandas的python 2.7将多个空格分隔的文件转换为CSV?

使用带Pandas的python 2.7将多个空格分隔的文件转换为CSV?,python,pandas,python-2.7,csv,io,Python,Pandas,Python 2.7,Csv,Io,我试图用这个文件解决多个问题,但我最关心的是将这个文件转换成一个标准的CSV文件,该文件中的字段由字段之间的空格分隔,而不需要1000行genius级别的代码。我知道一种方法,正如我在几年前的一个项目中所做的那样,通过在VB中设置类似于旧的left$、mid$和right$函数的函数,从我感兴趣的行中选择特定的字符,因为数据定义得非常好,解析得非常简洁,即。,一直以来,每一列的大小都是相同的,因此我可以通过使用这些函数来获取标题行,以选择列的字段名,然后使用相同的函数逐行使用mid$()将数字数

我试图用这个文件解决多个问题,但我最关心的是将这个文件转换成一个标准的CSV文件,该文件中的字段由字段之间的空格分隔,而不需要1000行genius级别的代码。我知道一种方法,正如我在几年前的一个项目中所做的那样,通过在VB中设置类似于旧的left$、mid$和right$函数的函数,从我感兴趣的行中选择特定的字符,因为数据定义得非常好,解析得非常简洁,即。,一直以来,每一列的大小都是相同的,因此我可以通过使用这些函数来获取标题行,以选择列的字段名,然后使用相同的函数逐行使用mid$()将数字数据作为字符串提取,通过在每个写入的字符串之间添加“,”将其写入另一个文件,将字符串转换回浮点数,然后我得到了带有标题的CSV文件。但是魔兽世界是如此的笨重和丑陋——我想用熊猫来使它更加优雅、简洁和尖锐

这里是数据文件前几行的一个片段——我有数百行要处理。如果实际文件中还有几十列,这只是一个示例,演示了字段之间的变量空格作为分隔符

日期时间CH4水
2021-04-01…………01:47:45.407…………2.0063472018E+00…………1.2005321188E+00……
2021-04-01…………01:47:46.336…………2.0063472018E+00…………1.2005321188E+00……
2021-04-01…………01:47:47.244…………2.0063472018E+00…………1.2025918742E+00……
2021-04-01…………01:47:49.049…………2.00590902E+00…………1.2025918742E+00

我还需要tp将日期和时间列作为时间戳对象进行解析,这是我在panda read_csv(parse_dates[[0,1]])中尝试的,它几乎可以工作。我需要为每个系列绘制x轴标签的日期…但这是另一个帖子的另一个问题哈哈

提前感谢您的帮助


john rainh2o

使用Pandas,将分隔符指定为空格(假设您的示例已将空格替换为点)。接下来指定
skipinitialspace=True
。日期和时间列可以转换为单个
datetime64
类型:

import pandas as pd

df = pd.read_csv('input.txt', delimiter=' ', skipinitialspace=True, parse_dates=[['DATE', 'TIME']])

print(df)
print(df.dtypes)
这将给你:

日期时间CH4 H2O 0 2021-04-01 01:47:45.407 2.006347 1.200532 1 2021-04-01 01:47:46.336 2.006347 1.200532 2 2021-04-01 01:47:47.244 2.006347 1.202592 3 2021-04-01 01:47:49.049 2.005910 1.202592 日期\时间日期时间64[ns] CH4浮标64 H2O浮标64
首先,您为什么要使用Python 2.7?它本身有一些问题,不受欢迎。我在3年前写了原始代码,这就是我们的仪器上的内容。实际上,它仍然是他们随仪器提供的内容。我不想让我尝试,它说我需要1500点或其他东西来添加标记。我的意思是,理论上我可以自己在仪器上安装python 3使用它