pandas dataframe读取csv,其中行末尾有/没有逗号

2023-12-26

我的示例文件如下所示:

1.50424e+09,164.84,164.94,163.4,164.07,09:30:00,1.50424e+12,eAAPL,1.38904e+07,0,22.45,2.64333e+07,847097,18.49,1.54
1.50459e+09,163.8,164.25,158.26,162.2,09:30:00,1.50459e+12,eAAPL,2.54615e+07,0,22.44,2.64646e+07,847097,18.49,1.54
1.50467e+09,162.71,162.99,160.52,162.01,09:30:00,1.50467e+12,eAAPL,1.67919e+07,0,22.67,2.61136e+07,837180,18.27,1.55
1.50485e+09,160.9,161.15,158.62,158.7,09:30:00,1.50485e+12,eAAPL,2.02651e+07,0,22.73,2.48843e+07,832945,18.18,1.56,
1.50511e+09,160.51,162.05,159.89,161.48,09:30:00,1.50511e+12,eAAPL,2.44948e+07,0,22.54,2.50082e+07,819360,17.88,1.59,
1.50476e+09,162.17,163.69,160.36,161.175,09:30:00,1.50476e+12,eAAPL,1.88933e+07,0,22.68,2.58778e+07,836302,18.25,1.56,

请滚动到最右边,您将看到前 3 行末尾没有逗号,但最后 3 行有逗号。当我做

f = pd.read_csv("AAPL.csv", header=None)

它给出错误说:

CParserError: Error tokenizing data. C error: Expected 15 fields in line 4, saw 16

我如何解决它?


你可以使用usecols with np.arange(0,15),忽略 csv 文件底部三行的尾随列:

from io import StringIO
file = StringIO("""1.50424e+09,164.84,164.94,163.4,164.07,09:30:00,1.50424e+12,eAAPL,1.38904e+07,0,22.45,2.64333e+07,847097,18.49,1.54
1.50459e+09,163.8,164.25,158.26,162.2,09:30:00,1.50459e+12,eAAPL,2.54615e+07,0,22.44,2.64646e+07,847097,18.49,1.54
1.50467e+09,162.71,162.99,160.52,162.01,09:30:00,1.50467e+12,eAAPL,1.67919e+07,0,22.67,2.61136e+07,837180,18.27,1.55
1.50485e+09,160.9,161.15,158.62,158.7,09:30:00,1.50485e+12,eAAPL,2.02651e+07,0,22.73,2.48843e+07,832945,18.18,1.56,
1.50511e+09,160.51,162.05,159.89,161.48,09:30:00,1.50511e+12,eAAPL,2.44948e+07,0,22.54,2.50082e+07,819360,17.88,1.59,
1.50476e+09,162.17,163.69,160.36,161.175,09:30:00,1.50476e+12,eAAPL,1.88933e+07,0,22.68,2.58778e+07,836302,18.25,1.56,""")

f = pd.read_csv(file, usecols=np.arange(0,15), header=None)

print(f.head())

Output:

             0       1       2       3       4         5             6   \
0  1.504240e+09  164.84  164.94  163.40  164.07  09:30:00  1.504240e+12   
1  1.504590e+09  163.80  164.25  158.26  162.20  09:30:00  1.504590e+12   
2  1.504670e+09  162.71  162.99  160.52  162.01  09:30:00  1.504670e+12   
3  1.504850e+09  160.90  161.15  158.62  158.70  09:30:00  1.504850e+12   
4  1.505110e+09  160.51  162.05  159.89  161.48  09:30:00  1.505110e+12   

      7           8   9      10          11      12     13    14  
0  eAAPL  13890400.0   0  22.45  26433300.0  847097  18.49  1.54  
1  eAAPL  25461500.0   0  22.44  26464600.0  847097  18.49  1.54  
2  eAAPL  16791900.0   0  22.67  26113600.0  837180  18.27  1.55  
3  eAAPL  20265100.0   0  22.73  24884300.0  832945  18.18  1.56  
4  eAAPL  24494800.0   0  22.54  25008200.0  819360  17.88  1.59  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pandas dataframe读取csv,其中行末尾有/没有逗号 的相关文章

随机推荐

  • Ruby 中的一行 if 语句

    我有以下代码 if day gt 31 day 31 month April end 我可以把它写在一行中 而不是 if day gt 31 then day 31 and month April end 我试过这样 if day gt 3
  • 使用VideoJS播放器播放RTMP流

    我正在尝试玩RTMP流式传输VideoJS玩家 下面是我的代码
  • Wildfly 9 http 转 https

    我想将请求从 HTTP 重定向到 HTTPS 我正在使用 Wildfly 9 经过谷歌搜索后 我发现了以下内容 但它不起作用 我希望有人
  • 如何在 Java 中将 BigInteger 值转换为十六进制

    我正在制作一个Java程序 我有一个 BigInteger 数字 我需要将其转换为十六进制 我尝试了以下代码 String dec null System out println Enter the value in Dec Buffere
  • 更改特定数据的颜色

    我想更改 json 文件中某些数据的颜色 如果我有一个包含日期的数据集 并且我想要 2017 年的日期为浅粉色 我怎样才能在不影响2018年 2019年等的情况下实现这一目标 日期 json文件 id 1 month 2017 03 01
  • 大型 XML 文件和分页,可能吗?

    问题 当在您的计算机上本地打开非常大的 XML 文件时 几乎可以肯定的是 该文件需要一段时间才能打开 这通常意味着您的计算机因认为没有响应而被锁定 如果您为用户提供他们使用的相当复杂的数据库或系统的 XML 备份 这就是一个问题 他们能够打
  • WPF - 如何保存没有任何 Alpha 通道的 PNG?

    我有一个BitmapSource 我将它保存为像这样的png PngBitmapEncoder enc new PngBitmapEncoder enc Frames Add myBitmapSource enc Save fs 如何在没有
  • C 中自动 stdout 缓冲区刷新的规则是什么?

    我只是好奇应该满足哪些条件才能自动刷新标准输出缓冲区 首先 我很困惑这个伪代码不会在每次迭代时打印输出 while 1 printf Any text sleep 1 但如果我添加换行符 它就会 经过几次实验 我发现在我的机器上标准输出缓冲
  • 用 C++ 模拟 CPU 负载

    我目前正在使用 C 在 Windows 中编写一个应用程序 我想模拟 CPU 负载 我有以下代码 void task1 void param unsigned elapsed 0 unsigned t0 while 1 if t0 cloc
  • 批处理文件检查具有相同扩展名的文件

    所以我不太擅长代码 我有一个代码可以检查扩展名文件的大小 txt我需要它来验证具有该扩展名的所有文件 如果大于 限制 则写入一个 例如 size txt里面是超出大小限制的文件的名称 我已经拥有并给我的代码是 它没有写入文件的部分size
  • Spring Flux 和 Async 注解

    我有一个 Spring Flux 应用程序 在某些时候我需要在后台执行一些繁重的任务 调用者 HTTP 请求 不需要等到该任务完成 如果没有反应堆 我可能会使用Async https docs spring io spring framew
  • 使用浮点数求级数总和

    我计算了该系列的前 20 个元素 有两种方式 第一种 向前 第二种 向后 为此我做了 include
  • 构造函数和 Pydantic

    我想创建一个带有构造函数的 Pydantic 类 该构造函数对输入进行一些数学运算并相应地设置对象变量 class PleaseCoorperate BaseModel self0 str next0 str def init self p
  • 从 Java 输入流读取下一个字符(完整的 unicode 代码点)

    我需要逐个字符地解析UTF 8输入 来自文本文件 按字符我指的是完整的UTF 8字符 UTF 8代码点 而不是Java的字符 我应该使用什么方法 There s CharSequence codePoints https docs orac
  • 有没有办法“传播”或“扁平化”GraphQL 响应?

    我有一个如下所示的 GraphQL 查询 allContentfulDocuments edges node documents id 有什么办法可以压平edges and node层 变成基本上像这个查询一样工作的东西 allConten
  • 多进程和子进程有什么区别?

    我的工作应该使用并行技术 并且我是Python的新用户 我想知道你是否可以分享一些关于Python的材料multiprocessing and subprocess模块 这两者有什么区别 The subprocess模块允许您运行和控制其他
  • 是否存在完全“布局中立”的 HTML 容器元素?

    有时我想在其他几个 HTML 元素周围放置一个包装元素带着唯一的目的设置一个方便的 CSS 选择器来引用所有包含的元素
  • 获取 N 维 numpy 数组中第一次出现的值

    我见过这个问题 https stackoverflow com questions 432112 is there a numpy function to return the first index of something in an
  • Tensorflow 因 CUBLAS_STATUS_ALLOC_FAILED 崩溃

    我使用简单的 MINST 神经网络程序在 Windows 10 上运行 tensorflow gpu 当它尝试运行时 它遇到了CUBLAS STATUS ALLOC FAILED错误 谷歌搜索没有发现任何东西 I c tf jenkins
  • pandas dataframe读取csv,其中行末尾有/没有逗号

    我的示例文件如下所示 1 50424e 09 164 84 164 94 163 4 164 07 09 30 00 1 50424e 12 eAAPL 1 38904e 07 0 22 45 2 64333e 07 847097 18 4