【问题标题】:Do I need to save a CSV sent over HTTP before reading it? [duplicate]在阅读之前是否需要保存通过 HTTP 发送的 CSV? [复制]
【发布时间】:2014-10-24 13:48:02
【问题描述】:

我通过上传接收到一个我想解析的 CSV 文件,但是当我尝试通过这行代码打开它时得到Error: new-line character seen in unquoted field - do you need to open the file in universal-newline mode?

reader = csv.reader(args['file'], quotechar='|', dialect=csv.excel)

我需要暂时保存文件,然后以通用换行模式打开它来实现吗?或者有没有办法不用临时文件?

【问题讨论】:

  • 就我而言,这就是我会尝试的方法 - 如果只是为了确保问题来自于此。
  • @brunodesthuilliers 我通过将代码更改为文件参数为args['file'].read().splitlines() 来解决它。这解决了换行问题,因为我只是将文件拆分为一个字符串数组,reader 对象可以很好地处理这些字符串。
  • 我不确定您的“解决方案”是否安全(事实上我很确定它安全)-您收到错误消息是有原因的,并且您最终可能会得到乱码数据。我的 2 美分...
  • @brunodesthuilliers 查看this 并告诉我您的想法
  • 您的问题已作为 stackoverflow.com/questions/1875956/… 的副本关闭 - 您可能想阅读一下?

标签: python csv


【解决方案1】:

您似乎不需要保存它,因为它返回一个reader object,您可以在其中对其进行迭代(想想处理文件)。

【讨论】:

  • 我知道,但我的问题是由于换行错误,它无法读取。我保存它的逻辑是这样我就可以在通用换行模式下重新打开它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多