【发布时间】:2021-06-09 14:45:56
【问题描述】:
我有 .txt 文件,我尝试使用 python/spark 读取该文件,但它要么被转换为一个大字符串,要么我无法以正确的格式获取数据。
我注意到有时数据文件中有多个空格。
数据集
import io
data_str = """value code description version plant ing_code weight created end
NULL (Nxt) Optigroei PreStart Kruimel 170 Wan 2132.00 19.800000000010389 2020-07-27 14:15:55.000 2020-07-27 14:15:55.000
NULL (Nxt) Optigroei PreStart Kruimel 170 Wan 1808.00 0.55000000000025961 2020-07-27 14:15:55.000 2020-07-27 14:15:55.000
NULL (Nxt) Optigroei PreStart Kruimel 170 Wan 1672.00 5.9999999999999998E-2 2020-07-27 14:15:55.000 2020-07-27 14:15:55.000
NULL (Nxt) Optigroei 3 Meel 370 Wan 1253.00 1.21 2020-07-29 06:30:10.000 2020-07-29 06:30:10.000
NULL (Nxt) Optigroei 3 Meel 370 Wan 1582.00 9.9000000000061018E-3 2020-07-29 06:30:10.000 2020-07-29 06:30:10.000
NULL (Nxt) Optigroei Start Meel 570 Wan 2132.00 24.800000000000001 2020-07-29 06:32:38.000 2020-07-29 06:32:38.000"""
data_io = io.StringIO(data_str)
代码
import pandas as pd
pd.read_csv(data_io)
df_pd = pd.read_csv(data_io, sep='\s\s+')
如果有任何帮助/建议,我将不胜感激
提前致谢
【问题讨论】:
-
您可以尝试在
read_csv函数调用中传递此选项吗?delim_whitespace=True -
但是你如何区分值中有空格的第三列
-
在您的数据中,
code和description列之间有一个空格,因此您的正则表达式作为分隔符无效,但如果将其更改为\s+,您将在 @987654329 中获得额外数据@ 看起来您需要对输入数据进行一些处理
标签: python pandas apache-spark data-wrangling