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

如何导入。将txt数据转换为数据帧?

童铭晨
2023-03-14

我正在尝试从位于的文件导入数据https://drive.google.com/file/d/1leOUk4Z5xp9tTiFLpxgk_7KBv3xwn5eW/view进入数据帧。我试过使用

    data = pd.read_csv('data_engineering_assignment.txt',sep="|")

但是我得到一个错误说"ParserError:错误标记化数据。C错误:期望在行231中有9个字段,看到10"我不想使用'error_bad_lines=False'并跳过数据行。

请帮忙。

共有2个答案

华恩
2023-03-14

您可以指定列名称,说明有10个:

import pandas as pd

cols = ['_id','name','price','website_id','sku','url','brand','media','description_text','other']
dataframe = pd.read_csv('./data_engineering_assignment.txt', names=cols, sep='|' )
dataframe['description_text'] = dataframe['description_text'].map(str) + dataframe['other']
dataframe.to_csv('./data_engineering_assignment_v2.txt', index=False, sep=',')

由于pandas必须猜测列数据类型,因此会收到内存使用警告,但这没有问题

周睿范
2023-03-14

您的数据集中有一个问题,问题是有时,我在描述文本中发现:例如,对于这个id5d0c7c4c312ff75188d84954,您在| X设计的中有,因此熊猫将第二部分视为一个新列(这就是为什么您会看到这样的消息:预期有9个字段,但看到了10个我希望这将有助于您理解问题。

 类似资料:
  • 问题内容: Python中如何将输入数据转换为数字? 问题答案: Python 2.x 有两个函数用于获取用户输入,分别称为和。它们之间的区别是,不评估数据并以字符串形式原样返回。但是,将对你输入的内容进行评估,评估结果将返回。例如, 5 + 17评估数据,结果为22。当它对表达式求值时5 + 17,它将检测到你要添加两个数字,因此结果也将是同一int类型。因此,类型转换是免费完成的,并22作为的

  • 我有一个MySQL数据库,其中所有的表字段排序规则为 它已经存储了将近1000个记录,现在我想把所有这些数据转换成 以便我可以显示任何语言内容。我已经将字段排序规则修改为utf8_general_ci,但这并不能将所有旧记录转换为utf8_general_ci

  • 嗨,我是redis的新手,想在这里得到一些帮助。我使用java和sql Server2008和redis server。为了与redis交互,我使用jedis api for Java。我知道redis用于存储基于键值的东西。每个键都有值。 问题背景: 我有一个名为“用户”的表,它存储数据,如id,姓名,电子邮件,年龄,国家。这是sql表的模式。现在这个表有一些行(也表示一些数据)。现在,我的主键

  • 我在Java中有一个tiff图像的INT[2048][2048]原始数据数组。我想把那个数组转换回BufferedImage。我该如何进行?

  • 我有一个需要一个数据帧作为输入的计算。我想对存储在扩展到51GB的netCDF文件中的数据运行此计算-目前,我一直在使用打开文件,并使用块(我的理解是,此打开的文件实际上是一个dask数组,因此一次只能将数据块加载到内存中)。但是,我似乎无法利用这种延迟加载,因为我必须将xarray数据转换为pandas数据帧才能运行我的计算——我的理解是,在这一点上,所有数据都加载到内存中(这是不好的)。 所以

  • 我是java新手,我想知道如何读取。txt文件,然后将每一行都放入数组单元格中。.txt文件的格式必须如下所示: 我已经尝试创建一个以这种方式实现的ReadFile类: