【问题标题】:how to determine the shape of .tsv file through python如何通过python确定.tsv文件的形状
【发布时间】:2021-09-13 18:37:00
【问题描述】:

我有一个类似 .tsv File structure in MSExcel 的 .tsv 文件

我想通过pytorch确定它的形状。我该怎么做呢

我写了一个代码

将熊猫导入为 pd

df = pd.read_csv(path/to/.tsv)

df.shape

然后输出

(13596, 1)

但显然形状与我提供的图像相冲突。我做错了什么?

【问题讨论】:

    标签: python pandas csv size shapes


    【解决方案1】:

    使用 pd.read_csv 时需要指定数据的分隔方式(除非是逗号分隔)

    df = pd.read_csv(path/to/.tsv, sep = '\t')

    应该正确加载数据。

    见:https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html

    编辑:查看您的数据,您还应该指定header=None,因为您没有标题行。理想情况下,还使用pd.read_csvnames 参数提供列名列表

    【讨论】:

    • 它给了我以下错误 ParserError: Error tokenizing data。 C 错误:预计第 10553 行中有 6 个字段,看到 11
    • 您的数据中有一些行包含错误数据或某些字段包含选项卡。 error_bad_lines=False 将忽略这些记录
    【解决方案2】:

    问题是您缺少分隔符属性

    import pandas as pd
    
    df = pd.read_csv("data/test.txt")
    print(df.shape)
    

    输出:(2, 1)

    import pandas as pd
    
    df = pd.read_csv("data/test.txt", sep='\t')
    print(df.shape)
    

    输出:(2, 3)

    所以请将sep='\t' 添加到您的read_csv

    另外,如果你有一个标题,你可以传递 header=0

    pd.read_csv("data/test.txt", sep='\t', header=0)
    

    如果有帮助请告诉我

    【讨论】:

    • 是的,使用 "sep='\t'" 并添加 "error_bad_lines=False" 有效
    猜你喜欢
    • 2021-09-14
    • 1970-01-01
    • 1970-01-01
    • 2011-09-26
    • 1970-01-01
    • 2019-11-24
    • 2020-04-13
    • 2014-05-02
    • 2021-10-22
    相关资源
    最近更新 更多