【问题标题】:invalid decimal literal when importing csv via pandas通过熊猫导入 csv 时无效的十进制文字
【发布时间】:2022-12-12 11:25:15
【问题描述】:

不确定 pandas 中是否发生了某些变化,但由于以下错误,我突然无法使用 pd.read_csv 导入我的 .csv 文件:

PS C:\Users\Admin\Documents\GitHub\REPLete> python cust.csv UK
  File "C:\Users\Me\Documents\GitHub\REPLete\cust.csv", line 61

97,1652223600,17927711,Paperclips,1w
                                  ^
SyntaxError: invalid decimal literal

这发生在单个字段中首次出现 [a-z] 和 [0-9] 的地方。几乎就像 Pandas 试图将它转换成 Decimal 但它不能因为有一个非十进制字符......

具体使用的代码如下:

df = pd.read_csv('cust.csv')

CSV 的前几行如下:

Completed,Action Required,Addr1,Addr2,Addr3,Addr4,Addr5,Postcode,DT_Set,Pri,DT_Due,Tel,NOTES:,NHS_Org,Company,Contact_Email,Billing_Email,Contact_FirstName,Contact_LastName,Interested in Demo,Date Scheduled,Time of Demo,Lead name
,,Xyz Xyz,Xyz Xyz,Xyz Xyz,Xyz Xyz,Xyz Xyz,XYZ XYZ,,,,1279621900,,RP0005,New Road Surgery,xxx.xxx@xxx.xxx;xxx.xxx@xxx.xxx,xxx.xxx@xxx.xxx;xxx.xxx@xxx.xxx,Jeremy,Fisher,SPEAKING TO MICHAEL 10y,,,
,,Xyz Xyz,Xyz Xyz,Xyz Xyz,Xyz Xyz,Xyz Xyz,XYZ XYZ,1649075159.0,97.0,1964646000.0,1933234900,,RP0006,Long Road Medical,xxx.xxx@xxx.xxx,xxx.xxx@xxx.xxx,Marjorie,Stewart-Baxter,,,,
,,Xyz Xyz,Xyz Xyz,Xyz Xyz,Xyz Xyz,Xyz Xyz,XYZ XYZ,1648635737.0,97.0,1964214000.0,2476674123,,RP0008,Rusty Spoon Medical Centre,xxx.xxx@xxx.xxx,xxx.xxx@xxx.xxx;xxx.xxx@xxx.xxx;xxx.xxx@xxx.xxx,Hubert,Cumberdale,ALREADY GOT IT,,,

如何强制 read_csv 将所有内容解释为字符串/对象? 我将使用 df.astype 选择性地转换字段,我需要将其设为 Integer/Float 等。

希望有人能帮忙!

干杯, 卢克。

【问题讨论】:

  • 你能提供csv的前几行吗?
  • 嗨,刚刚用该信息更新了问题

标签: python pandas csv


【解决方案1】:

这可能是因为您使用 python 执行 .csv 文件而不是 python 脚本。只需使用 .py 文件而不是 python cust.csv UK.我不相信它是 pandas 转换值并给你那个错误,但因为这是一个已知的限制,即 python 中的变量名不能以数字开头,请参阅this SO post

如果您希望 pandas 将所有列转换为字符串/对象/浮点数等,请使用 read_csv(x, dtype="str") 或通过 read_csv(x, dtype={' a': 'obj', 'b': 'str'})

我几乎不怀疑你甚至需要这个答案,但万一其他人偶然发现了这个,那么你去吧!

【讨论】:

    猜你喜欢
    • 2021-10-09
    • 2019-12-17
    • 2018-12-02
    • 2020-11-22
    • 2018-12-03
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多