【发布时间】:2013-07-09 08:19:51
【问题描述】:
我正在测试一个 Python 2 脚本,该脚本将 CSV 文件的文本作为命令行参数。
CSV 是一个标准的 Excel CSV 文件,其中 ',' 用于项目分隔符,大概'\r\n' 用于行结尾。
问题是我需要将 CSV 文本作为单行传递给脚本,以便将字符串识别为单个参数。为此,我在记事本中打开 CSV 并将所有新行替换为 '\r\n',这使我能够成功地将测试读入我的脚本中。但是,当我尝试从字符串创建 csv.reader 对象时,csv.reader 只看到一行,而我希望 iot 看到多行。
给出以下 CSV 字符串示例:
The,quick,brown,fox\r\njumps,over,the,lazy,dog
我希望有以下几行:
The,quick,brown,fox
jumps,over,the,lazy,dog
但我最终只写了一行:
The,quick,brown,fox\r\njumps,over,the,lazy,dog
从命令行捕获字符串后,我使用以下命令将其加载到csv.reader:
input_str = self.GetCsvStringFromInput()
input_reader = csv.reader(StringIO.StringIO(input_str))
我使用的是 Windows,所以我认为 \r\n 是正确的,但我似乎没有使用正确的方法。
有什么想法吗? 谢谢,在adv.!
【问题讨论】:
标签: python csv command-line python-2.6