使用不同的分隔符保存文本文件

Save text file with different delimiters

我有一个包含 100 列的数据框,如何使用 df.to_csv() 和 sep = ',|;' export/save 它?

所以在 df.iloc[:, :15] 之后加上 sep = ';'和 df.iloc[:, 15:] 与 ','?

我试图查看文档,但找不到任何东西。

谢谢。

可能 .to_csv() 中没有内置解决方案可以在一个调用中使用两个不同的分隔符。因此,我建议使用下一个 plain-Python 解决方案,它只是连接两个(或任何部分)用不同分隔符呈现的 csv 部分。 numpy 仅用于用随机数填充数据框,而不是创建 csv 所必需的。

在下面的代码中,我使用了问题作者建议的示例限制 :1515:。我还使用 , 作为两个 csv sub-files 的行部分之间的分隔符。可以扩展代码以加入任何(不仅是两个)数量的 csv sub-files 用不同的分隔符呈现。

import pandas as pd, numpy as np

# Example dataframe creation
df = pd.DataFrame(np.random.randn(10, 40))

with open('result.csv', 'wb') as f:
    f.write('\n'.join([','.join(line_parts) for line_parts in zip(*[
        df.iloc[:, begin : end].to_csv(sep = sep, header = False, index = False).splitlines()
        for begin, end, sep in [(None, 15, ';'), (15, None, ',')]
    ])]).encode('utf-8'))