【问题标题】:How to fix open csv error: invalid literal for int() with base如何修复打开的 csv 错误:带基数的 int() 的无效文字
【发布时间】:2020-08-17 03:42:39
【问题描述】:

我正在尝试读取 CSV 文件,但出现以下错误 ValueError: invalid literal for int() with base 10: '893245\n332118\n9334343236\n565480\n78996\n889015\n5056515\n378677914

r = open('my_csv_file.csv')
data = [int(i) for i in r.read().split(',')]
print(data)

谁能告诉我上面的代码有什么问题?我正在使用 Windows 10。

在我使用r = open('my_csv_file.csv',,encoding='utf-8-sig') 之后,我仍然拥有ValueError: invalid literal for int() with base 10: '893245\n332118\n9334343236\n565480\n78996\n889015\n5056515\n378677914

【问题讨论】:

  • 这能回答你的问题吗? Python read csv - BOM embedded into the first key
  • 不。我仍然得到 ValueError: invalid literal for int() with base 10: 893245\n332118\n9334343236\n565480\n78996\n889015\n5056515\n378677914\
  • 在以逗号分隔之前,您必须遍历 CSV 中的行。您不使用csv 模块的任何原因?

标签: python-3.x opencsv


【解决方案1】:
r = open('my_csv_file.csv',encoding='utf-8-sig')
[int(i) for i in r.read().split('\n') if len(x)>0]

上面的代码可以解决问题。

【讨论】:

    猜你喜欢
    • 2021-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-07
    • 2020-05-21
    • 1970-01-01
    • 1970-01-01
    • 2013-07-27
    相关资源
    最近更新 更多