通过Pandas导入csv时无效的十进制文字

7jmck4yq  于 2022-12-15  发布在  其他
关注(0)|答案(1)|浏览(180)

我不确定Pandas中是否发生了一些变化,但由于以下错误,我突然无法使用www.example.com _csv导入我的.csv文件pd.read:

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试图将其转换为十进制,但它不能,因为有一个非十进制字符...
使用的确切代码如下所示:

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来转换字段,我需要它是整型/浮点型等。
希望有人能帮忙!
干杯,卢克。

oyjwcjzk

oyjwcjzk1#

这可能是因为你使用python来执行一个.csv文件而不是python脚本。使用.py文件而不是python cust.csv UK。我不相信panda转换值并给你这个错误,而是因为python中的变量名不能以数字开头是一个已知的限制,参见this SO post
如果你想让panda把所有的列都转换成字符串/对象/浮点数等,那么使用read_csv(x,dtype=“str”)或者通过read_csv(x,dtype='a':“目标”,“b”:“字符串”})
我几乎不怀疑你甚至需要这个答案,但万一别人绊倒了这个,然后在这里你去芽!

相关问题