当前位置: 首页 > 知识库问答 >
问题:

使用Python或pyspark读取基于位置的CSV文件

焦宁
2023-03-14

我不熟悉Python及其库pyspark,我需要进行一些POC,其中我需要读取来自上游的CSV文件。我收到的CSV文件没有任何分隔符,它将是一个基于位置的文件。我们可以在Oracle控制文件中执行此操作,在该文件中,我们可以定义每个列的位置,并检索我在pyspark中执行此操作所需的值。

我正在使用Apache Spark来处理我的Pyspark或python代码。

对于Ex。

TXT文件中的两行示例行,长度可能更长(文件中也可能有空白,定义字段位置时需要考虑)

D30056747PRD0091921170811405ACTUAL    ACTUAL    6222020190110001508014
D30056747PRD0091921170811405ACTUAL    ACTUAL    6222020190110001508014

下面是每列的必需值(在我的示例中位置可能错误)

col1 = D30056747 [0:9]
col2 = PRD [10:13]
col3 = 0091921170811405 [13:28]
col4 = ACTUAL [29:35]
col5 = ACTUAL [39:45]
col6 = 62220 [49:54]
col7 = 20190110 [54:62]
col8 = 001508014 [52:71]

共有1个答案

毕泽宇
2023-03-14

读取CSV文件时,可以指定分隔符:

spark.read.option("delimiter", " ").csv(file)

分隔符可以是空格o a\t。

 类似资料:
  • 我尝试使用pyspark读取csv文件,并使用以下pyspark代码: 但是我得到了这个错误: 在collect(self)532中使用SCCallSiteSync(self._sc)作为CSS:533 sock_info=self._jdf.collectTopython()-->534返回列表(_load_from_socket(sock_info,BatchedSerializer()))5

  • 问题内容: 我正在尝试使用Python(仅法语和/或西班牙语字符)读取带有重音字符的CSV文件。基于csvreader的Python 2.5文档(http://docs.python.org/library/csv.html),由于csvreader仅支持ASCII,因此我想出了以下代码来读取CSV文件。 以下是我尝试阅读的CSV文件的摘录: 即使我尝试将编码/解码为UTF-8,我仍然收到以下异常

  • 本文向大家介绍基于Pandas读取csv文件Error的总结,包括了基于Pandas读取csv文件Error的总结的使用技巧和注意事项,需要的朋友参考一下 OSError:报错1 分析:Error在于_setup_parser_source ,说明文件压根没有读到,导致该原因一般为文件路径出现问题,检查是否有中文,中文有时会导致该问题 解决方案: 1、修改文件路径名为全英文包括文件名 2、在文件名

  • pyspark新手,希望将csv文件读取到数据帧。似乎不能让人读。有什么帮助吗? ()中的Py4JJavaError回溯(最近一次调用)----

  • 我使用Dask读取2.5GB csv文件,Python给了我错误。这是我写的代码: 以下是我从Python得到的错误: dask_df=df1.read_csv('3SPACK_N150_7Ah_压力分布研究_Data_Matrix.csv')) 文件“C:\ProgramData\Anaconda3\lib\site packages\dask\dataframe\io\csv.py”,第645

  • 场景是:EventHub- 文件格式:CSV(带引号、管道分隔和自定义架构) 我正在尝试读取来自eventhub的CSV字符串。Spark成功地使用正确的模式创建了数据框,但在每条消息之后,数据框最终都是空的。 我设法在流媒体环境之外做了一些测试,当从文件中获取数据时,一切都很顺利,但当数据来自字符串时,一切都失败了。 所以我找到了一些链接来帮助我,但没有一个工作: can-i-read-a-cs