如何更改模式stdin
已打开?具体来说,我们将CSV文件传输到python脚本以清理数据,但是数据中的垂直选项卡似乎需要采用通用换行模式。
问题数据似乎是输入流中的一些\x0b
个字符。
由python打印后,用'rU'打开其中一个文件
['P', 'B', '', '1 W Avene, #8\x0bMiami Beach, FL 33139']
['S', 'H', '\x0bElberon, NJ 07740', '9 E Avenue\x0bElberon, NJ 07740']
['C', 'W', 'E R A', '2 B 3rd Floor \x0bNew York NY 10023 ']
['D', 'M', '', '1 K Street, NW\x0bWashington, DC 20005']
['E', 'W', '', '5 P C Lane\x0bDenver, CO 80209-3311']
答案 0 :(得分:2)
您的问题是,您正在阅读的CSV文件仅使用CR(\r
)换行符;它与垂直标签无关。 Python 2.x在没有通用线路支持的情况下打开stdin
(以便二进制文件正常工作)。
作为一种解决方法,您可以尝试这一点,假设您的输入相对较小:
csv.reader(sys.stdin.read().split('\r'))
答案 1 :(得分:0)