首页 > 解决方案 > 读取txt文件时如何在熊猫中左对齐

问题描述

我有一个 info.txt 文件,它看起来像这样:

B 19960331 00100000 00000000000000 00000000000000 00000000000000 00000000 00000000000000 00000000000000 00000000000000
B 19960430 00099100 00000000000000 00000000000000 00000000000000 00000000 00000000000000 00000000000000 00000000000000
B 19960531 00098500 00000000000000 00000000000000 00000000000000 00000000 00000000000000 00000000000000 00000000000000

当我使用熊猫阅读它时:

import pandas as pd
import numpy as np
df =pd.read_csv('C:\Users\Petter\Desktop\info.txt')
df

输出是:

    B 19960331 00100000 00000000000000 00000000000000 00000000000000 00000000 00000000000000 00000000000000 00000000000000
                                                                     0  B 19960430 00099100 00000000000000 00000000000...
                                                                     1  B 19960531 00098500 00000000000000 00000000000...

这些行远离列名,无论如何我可以让它们像这样:

    B 19960331 00100000 00000000000000 00000000000000 00000000000000 00000000 00000000000000 00000000000000 00000000000000
0   B 19960430 00099100 00000000000000 00000000000...
1   B 19960531 00098500 00000000000000 00000000000...

我试过了:

df.shift(periods=1, axis="columns")

但现在工作

标签: pythonpandasdataframe

解决方案


您可以尝试使用以下命令读取文件pd.read_csv

df = pd.read_csv("your_file.txt", sep=r"\s", header=None, dtype=str, engine="python")
print(df)

印刷:

   0         1         2               3               4               5         6               7               8               9
0  B  19960331  00100000  00000000000000  00000000000000  00000000000000  00000000  00000000000000  00000000000000  00000000000000
1  B  19960430  00099100  00000000000000  00000000000000  00000000000000  00000000  00000000000000  00000000000000  00000000000000
2  B  19960531  00098500  00000000000000  00000000000000  00000000000000  00000000  00000000000000  00000000000000  00000000000000

推荐阅读