尝试将字符串转换为 Pandas 数据框时出现“没有要从文件解析的列”错误

如何解决尝试将字符串转换为 Pandas 数据框时出现“没有要从文件解析的列”错误

我有一个包含 CSV 数据的字符串对象(“t​​extData”)。

我可以通过以下方式将其保存为 CSV:

    with open(fileName,"w") as text_file:
        print(textData,file=text_file)

但我想在保存 csv 之前处理 Pandas 中的数据。所以我正在尝试将数据放入熊猫 df。

import pandas as pd
from io import StringIO

df = pd.read_csv(StringIO(textData),sep=",")

我收到此错误:EmptyDataError:没有要从文件解析的列

这是一个 textData 字符串:

R$M21,2021-01-26,1.3265,0
R$M21,2021-01-27,1.3263,2021-01-28,1.3319,2021-01-29,1.3287,2021-02-01,1.3315,2021-02-02,1.3328,2021-02-03,1.3331,2021-02-04,1.3361,2021-02-05,1.3383,2021-02-08,1.3354,2021-02-09,1.3279,2021-02-10,1.3259,2021-02-11,1.3253,2021-02-12,1.3272,2021-02-15,1.3224,2021-02-16,1.3232,2021-02-17,1.329,2021-02-18,1.3275,2021-02-19,1.3246,2021-02-22,1.3235,2021-02-23,1.3216,2021-02-24,1.321,2021-02-25,1.3181,2021-02-26,1.3313,2021-03-01,1.3323,2021-03-02,2021-03-03,1.3309,2021-03-04,2021-03-05,1.3417,2021-03-08,1.3479,2021-03-09,1.345,2021-03-10,1.3476,2021-03-11,1.3403,2021-03-12,1.3463,2021-03-15,1.3456,35,35
R$M21,2021-03-16,1.3455,1.3452,1.3454,85,20
R$M21,2021-03-17,1.3457,1.3451,2021-03-18,1.3432,2021-03-19,1.3425,20,2021-03-22,1.3434,1.3405,2021-03-23,1.3433,2021-03-24,1.3461,6,6
R$M21,2021-03-25,1.3472,2021-03-26,1.3477,2021-03-29,1.3467,2021-03-30,1.3483,2021-03-31,1.3448,2021-04-01,2021-04-02,1.3442,2021-04-05,1.3446,2021-04-06,1.3418,10,11
R$M21,2021-04-07,1.339,1.3398,1.3389,2021-04-08,1.3406,2021-04-09,1.3411,23,28
R$M21,2021-04-12,1.3427,3,31
R$M21,2021-04-13,1.3431,51
R$M21,2021-04-14,1.3374,1.3378,1.3375,2021-04-15,1.335,217,222
R$M21,2021-04-16,1.3358,1.3337,416,407
R$M21,2021-04-19,1.3344,1.3346,1.331,370,428
R$M21,2021-04-20,1.3305,1.3316,1.3283,5,431
R$M21,2021-04-21,1.3291,1.3302,100,422
R$M21,2021-04-22,1.3304,427
R$M21,2021-04-23,1.3277,1.3274,16,437
R$M21,2021-04-26,1.3273,1.3256,1.326,204,438
R$M21,2021-04-27,1.3267,1.3255,1.3257,79,429
R$M21,2021-04-28,1.3278,1.3262,22,441
R$M21,2021-04-29,1.3245,457
R$M21,2021-04-30,1.3266,60,2021-05-03,1.328,1.3341,1.3318,8,458
R$M21,2021-05-04,1.3298,1.3366,110,466
R$M21,2021-05-05,1.3376,1.3387,1.3351,2021-05-06,1.3349,1,467
R$M21,2021-05-07,1.332,25,2021-05-10,1.3247,187,480
R$M21,2021-05-11,1.3244,1.3276,1.3251,486
R$M21,2021-05-12,119,586
R$M21,2021-05-13,1.3312,1.3294,1.3343,270,738
R$M21,2021-05-14,1.3371,1.3338,392,841
R$M21,2021-05-17,1.3332,1.3356,99,835
R$M21,2021-05-18,1.3295,1.33,93,785
R$M21,2021-05-19,1.333,784
R$M21,2021-05-20,1.3326,1.3329,26,773
R$M21,2021-05-21,1.3301,777
R$M21,2021-05-24,39,767
R$M21,2021-05-25,1.3293,1.3254,28,782
R$M21,2021-05-26,1.3249,1.323,48,770
R$M21,2021-05-27,1.3229,51,805
R$M21,2021-05-28,1.3238,76,826
R$M21,2021-05-31,1.3237,1.3223,1.3226,2021-06-01,1.3194,1.3227,34,808
R$M21,2021-06-02,1.3248,1.322,50,2021-06-03,1.3228,137,720
R$M21,2021-06-04,1.3285,219,564
R$M21,2021-06-07,1.3252,42,544
R$M21,2021-06-08,1.3236,290,343
R$M21,2021-06-09,1.3243,1.3231,1.3233,2021-06-10,1.3239,406,292
R$M21,2021-06-11,1.3261,1.3217,1.324,107,2021-06-14,1.3271,0

我做错了什么? 谢谢

解决方法

错误在于您没有向我们展示的部分,因为您的代码运行良好。我猜你没有换行分隔行。

C:\tmp>type x.py

textData="""\
R$M21,2021-06-08,1.3236,1.3238,1.3226,1.3237,290,343
R$M21,2021-06-09,1.3232,1.3243,1.3231,1.3233,48,2021-06-10,1.3239,1.3253,1.3244,406,292
R$M21,2021-06-11,1.3249,1.3261,1.3217,1.324,107,0
R$M21,2021-06-14,1.3252,1.3271,0"""

import pandas as pd
from io import StringIO

df = pd.read_csv(StringIO(textData),sep=",")
print(df)

C:\tmp>python x.py
   R$M21  2021-06-08  1.3236  1.3238  1.3226  1.3237  290  343
0  R$M21  2021-06-09  1.3232  1.3243  1.3231  1.3233   48  343
1  R$M21  2021-06-10  1.3239  1.3253  1.3238  1.3244  406  292
2  R$M21  2021-06-11  1.3249  1.3261  1.3217  1.3240  107    0
3  R$M21  2021-06-14  1.3252  1.3271  1.3252  1.3261  107    0

C:\tmp>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?