【问题标题】:read file using read_table /read_csv command使用 read_table /read_csv 命令读取文件
【发布时间】:2022-01-19 01:56:51
【问题描述】:

我有一个包含以下信息的文本文件

# Column1 Column2
10  12
15  7
20  9
30  11
40  20
60  25

我尝试过像这样读取这个文件

import numpy as np
import pandas as pd
file =pd.read_table("results.txt",sep="\t")
print(file.head())

结果是这样的:

   # Column1 Column2
10                 12
15                  7
20                  9
30                 11
40                 20

当然,我可以像这样使用 skiprows 跳过第一行

import numpy as np
import pandas as pd
file =pd.read_table("results.txt",sep="\t",skiprows=1,header=None)
print(file.head())

结果是:

   0   1
0  10  12
1  15   7
2  20   9
3  30  11
4  40  20

但我想保留原始列,怎么做?如何很好地分隔列?

【问题讨论】:

    标签: pandas csv text


    【解决方案1】:

    应该这样做。

    使用read_csv 读取您的数据,使用Sep=" " 以便使用空格。

    输入很乱,所以稍微清理一下。删除不需要的 column1 将充满 NA。然后将包含您要调用的数据的列重命名为 column1。

    import pandas as pd
    data = pd.read_csv(r"results.txt", sep=" ")
    
    data.drop('Column1', inplace=True, axis=1)
    data.rename(columns={'#': 'Column1'}, inplace=True)
    print(data)
    

    输出

       Column1  Column2
    0       10       12
    1       15        7
    2       20        9
    3       30       11
    4       40       20
    5       60       25
    

    【讨论】:

    • 不,它不能解决问题,这里的问题是 Column1 和 Column 2 和 # 符号只是一个文本
    • 在我看来# Column1 Column2 之间有空格,所以应该可以。
    • 如何显示文件?
    • 您的意思是如何在数据框中看到一次数据?您可以打印 df。 print(data)
    • 不不不,我如何共享文件才能看到确切的格式,有可能吗?
    猜你喜欢
    • 2017-03-11
    • 2021-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-31
    相关资源
    最近更新 更多