1

如何更改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']
4

2 回答 2

2

您的问题是您正在阅读的 CSV 文件仅使用 CR ( \r) 换行符;它与垂直标签无关。Python 2.xstdin在没有通用线路支持的情况下打开(以便二进制文件正常工作)。

作为一种解决方法,您可以尝试这个,假设您的输入相对较小:

csv.reader(sys.stdin.read().split('\r'))
于 2013-03-28T20:09:53.757 回答
0

根据PEP 278通用换行符默认开启。

默认情况下启用通用换行支持,但可以在配置 Python 期间禁用。

你有任何样本数据吗?

于 2013-03-28T15:40:33.167 回答