如何使用Python Pandas将数据框中的一列左对齐导出到文本文件?

6
我有一个xlsx文件,其中的文本格式正常,所有内容都向左对齐。现在我想从中提取一个字符串列并将其保存到txt文件中。我的代码如下:
import pandas as pd
import numpy as np

df = pd.read_excel('excel_file.xlsx', 
                   sheet_name ='tab1'
                   )

df = df.drop(['L1','L2','L3'], axis=1)

# so that only 1 string column is left

w = open("output.txt", "w")
 
w.write (df.to_string(index=False, header=False))
 
w.close()

好的,我已经成功创建了一个文本文件。但我的问题是,这个文件中的所有内容都向右对齐,并在每个文本字符串前面有许多空白。一个示例如下:

          Michael Jordan
          Scottie Pippen
                    Dirk
                   Curry

我希望得到像这样的普通文本文件格式:

Michael Jordan
Scottie Pippen
Dirk
Curry

没有任何格式的左对齐。

请问有谁可以帮忙吗? 我已经尝试了很多其他解决方案,例如set_properties、set_styles等,并阅读了许多像如何在Python中左对齐数据框列?这样的帖子,但我的问题没有得到解决。


2
你只有一列数据,所以可以使用 df.to_csv("output.txt", index=False, header=False) 来输出,不需要指定列名和索引。 - Timus
1
该死!这怎么可能这么容易?我完全不知道 to_csv 可以用来保存为 txt 文件。谢谢 @Timus - yts61
1个回答

6
如果您想要写入的列名为COLUMN_NAME,您可以执行以下操作:
with open("output.txt", "w") as f_out:
    f_out.write("\n".join(df["COLUMN_NAME"]))

这会创建output.txt文件:
Michael Jordan
Scottie Pippen
Dirk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接