【问题标题】:Python Pandas to_csv() blank values problem - from Windows to Mac/LinuxPython Pandas to_csv() 空白值问题 - 从 Windows 到 Mac/Linux
【发布时间】:2020-12-31 20:31:40
【问题描述】:

我使用 Pandas to_csv() 方法创建了一组 CSV。我在 Windows 上。

然后将 CSV 输入 POST 请求,将数据插入 CMS。

但是,CSV 中的 15 列中有 2 列在 POST 请求后显示为空白。

我的同事确认她的 Mac 机器上的列也是空白的。

我尝试过可选参数,例如 encoding='utf-8'line_terminator='\n'

相关问题:我怀疑to_csv() 上的一些可选参数可以解决问题,但测试很棘手,因为我无法在本地复制问题......我有 Ubuntu + Docker 和 Ubuntu + VirtualBox,但就我而言可以看到数据显示正常。

有一些类似的 SO 帖子 - 但我找不到从 From_Windows_to_Mac/Linux 的好答案

# df[df['foo']=='bar'].to_csv('testing-1.csv', encoding='utf-8')
# df[df['foo']=='bar'].to_csv('testing-2.csv', encoding='utf-8', line_terminator='\n')


# df[df['foo']=='bar'].to_csv('testing-3.csv', index=False, encoding='ascii')

df[df['foo']=='bar'].to_csv('testing-4.csv', index=False, encoding='ascii', header=False)

【问题讨论】:

  • 在通过邮寄方式发送 CSV 之前在记事本中打开文件。两列是否存在?
  • 它们在我的 Windows 机器上。显然,在 Mac 上打开时它们不存在。
  • 尝试在记事本中手动创建 csv(即 3 行)。问题是否存在?如果是这样,那么问题似乎在于 POST 对数据进行了一些处理。
  • 我喜欢这个主意。我也在尝试quoting=csv.QUOTE_NONNUMERIC。看看是否可行

标签: python linux pandas line-endings


【解决方案1】:

问题在于 CSV b/w Windows 和 Mac/Linux 中的引用。 通过添加quoting=csv.QUOTE_NONNUMERIC 修复了这个问题

import csv
df.to_csv('test.csv', encoding='utf-8', line_terminator='\n', quoting=csv.QUOTE_NONNUMERIC)

【讨论】:

    猜你喜欢
    • 2014-02-04
    • 2015-03-03
    • 2017-02-04
    • 2011-07-16
    • 1970-01-01
    • 2016-10-09
    • 2012-11-02
    • 2017-12-22
    相关资源
    最近更新 更多