不确定是否在pandas中发生了变化,但突然我无法使用pd导入我的。csv文件。Read_csv由于以下错误:
PS C:UsersAdminDocumentsGitHubREPLete> python cust.csv UK
File "C:UsersMeDocumentsGitHubREPLetecust.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有选择地转换字段。我需要的类型是整数/浮点等
希望有人能帮忙!
欢呼,卢克。
这可能是因为您使用python来执行.csv文件而不是python脚本。使用.py文件代替python cust.csv UK
。我不相信这是熊猫转换值给你的错误,但因为它是一个已知的限制,在python变量名不能以数字开头,见这篇文章。
如果您希望pandas将所有列转换为字符串/对象/float等,则使用read_csv(x, dtype="str")或通过read_csv(x, dtype={'a': 'obj', 'b': 'str'})为每个列指定一个特定类型的字典
我几乎不怀疑你甚至需要这个答案,但万一有人偶然发现这个,那么在这里你去芽!