gpt4 book ai didi

python - 如何使用对齐的空格字符将 python pandas.DataFrame 写入文件?

转载 作者:行者123 更新时间:2023-11-28 18:38:58 26 4
gpt4 key购买 nike

我想将 pandas.DataFrame 存储到一个文本文件中,该文件的列使用空白字符对齐。如果这是我的示例 DataFrame:

In [1]: import numpy as np
In [2]: import pandas as pd
In [3]: df = pd.DataFrame(np.linspace(0,1,9).reshape(3,3))
In [4]: df
Out[4]:
0 1 2
0 0.000 0.125 0.250
1 0.375 0.500 0.625
2 0.750 0.875 1.000
[3 rows x 3 columns]

我想做这样的事情:

In [5]: df.to_csv('test.txt', sep='?')

得到这个:

In [6]: more test.txt
0 1 2
0 0.0 0.125 0.25
1 0.375 0.5 0.625
2 0.75 0.875 1.0

我应该使用什么分隔符?我想知道是否有一种方法可以在不使用 \t 字符的情况下执行此操作。看起来不错

    0       1       2
0 0.0 0.125 0.25
1 0.375 0.5 0.625
2 0.75 0.875 1.0

但是我的文本文件有制表符,这会产生其他问题。

如果我使用 sep=' ' 我得到这个显然是错误的。

 0 1 2
0 0.0 0.125 0.25
1 0.375 0.5 0.625
2 0.75 0.875 1.0

我知道 pandas 可以像这样读入文件,所以我认为有一种方法可以像这样写出文件。

最佳答案

这个怎么样

import numpy as np
import pandas as pd
import csv

df = pd.DataFrame(np.linspace(0,1,9).reshape(3,3))
df.to_csv('test.txt',
float_format='%10.3f', sep=" ",
quoting=csv.QUOTE_NONE, escapechar=" ")

它产生:

 0 1 2
0 0.000 0.125 0.250
1 0.375 0.500 0.625
2 0.750 0.875 1.000

可以根据“最长”数字的位数自定义空格数。

关于python - 如何使用对齐的空格字符将 python pandas.DataFrame 写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29243323/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com