简体   繁体   English

从空格分隔的字符串创建 Pandas DataFrame

[英]Create Pandas DataFrame from space separated String

I have a string:我有一个字符串:

              C1     C2                       DATE     C4     C5         C6      C7
0            0.0    W04  2021-01-08 00:00:00+00:00      E    EUE         C1     157
1            0.0    W04  2021-01-08 00:00:00+00:00      E    AEU         C1     157
2            0.0    W04  2021-01-01 00:00:00+00:00      E   SADA         H1     747
3            0.0    W04  2021-01-04 00:00:00+00:00      E   SSEA         H1     747
4            0.0    W04  2021-01-05 00:00:00+00:00      E   GPEA         H1     747

It sure looks like a Pandas DataFrame because it comes from one.它确实看起来像 Pandas DataFrame 因为它来自一个。 I need to convert it into a Pandas DataFrame.我需要将其转换为 Pandas DataFrame。

I tried the following:我尝试了以下方法:

pd.read_csv(StringIO(string_file),sep=r"\s+")

but it messes with the columns and separates the DATE column into 2 columns.但它与列混淆并将 DATE 列分成 2 列。

First, recreate the string:首先,重新创建字符串:

s = """
              C1     C2                       DATE     C4     C5         C6      C7
0            0.0    W04  2021-01-08 00:00:00+00:00      E    EUE         C1     157
1            0.0    W04  2021-01-08 00:00:00+00:00      E    AEU         C1     157
2            0.0    W04  2021-01-01 00:00:00+00:00      E   SADA         H1     747
3            0.0    W04  2021-01-04 00:00:00+00:00      E   SSEA         H1     747
4            0.0    W04  2021-01-05 00:00:00+00:00      E   GPEA         H1     747
"""

Now, you can use Pandas.read_csv to import a buffer:现在,您可以使用Pandas.read_csv导入缓冲区:

from io import StringIO
df = pd.read_csv(StringIO(s), sep=r"\s\s+")

From what I can tell, this results in exactly the DataFrame that you are looking for:据我所知,这正是您正在寻找的 DataFrame :

生成的 DataFrame 的屏幕截图

You may want to convert the DATE column to datetime values as well:您可能还希望将DATE列转换为datetime时间值:

df['DATE'] = df.DATE.astype('datetime64')

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM