Python 将数据帧输出为ASCII^A或Unicode SOH分隔文件

Python 将数据帧输出为ASCII^A或Unicode SOH分隔文件,python,pandas,Python,Pandas,已完成对数据帧的处理,现在我想导出它。通常我将其导出为普通CSV,没有问题。今天我被要求用ASCII^a或等效的UnicodeSOH分隔符导出文件。坦率地说,这是我第一次处理ASCII/Unicode定界符。你们能为我提供一些指导/帮助,告诉我如何在熊猫/蟒蛇中实现这一点吗?我会非常感激的。提前感谢您的帮助。在Python中,您可以使用chr()将任何数字转换为字符。对于您的示例,我认为您需要chr(1),它是ASCII-SOH。然后可以将其作为分隔符传递: df.to_csv('foo.txt

已完成对数据帧的处理,现在我想导出它。通常我将其导出为普通CSV,没有问题。今天我被要求用ASCII^a或等效的UnicodeSOH分隔符导出文件。坦率地说,这是我第一次处理ASCII/Unicode定界符。你们能为我提供一些指导/帮助,告诉我如何在熊猫/蟒蛇中实现这一点吗?我会非常感激的。提前感谢您的帮助。

在Python中,您可以使用
chr()
将任何数字转换为字符。对于您的示例,我认为您需要
chr(1)
,它是ASCII-SOH。然后可以将其作为分隔符传递:

df.to_csv('foo.txt', sep=chr(1))
一旦您看到chr(1)产生的内容(
\x01
),您可能会意识到您也可以这样编写:

df.to_csv('foo.txt', sep='\1')
当然,ASCII表如下所示:

^根据这一点,A是ASCII SOH:-尽管没有Python转义码
curses.ascii.SOH
很接近,但它实际上只是常量
1
非常无用-最好在程序中编写
SOH='\1'