python - 读取行之间没有分隔符的文件
问题描述
我有一个非常明显的问题,但我找不到熊猫解决方案(我找到了这个,很接近)。
我的文本文件没有行分隔符。因此,pandas 将文件读取为具有单行和大量列的数据框。它看起来如下:
header_1, header_2, header_3, 1, jan, 600, 2, feb, 900, 3, jan, 678
我想每行读取三个元素。最终结果应如下所示:
header_1 header_2 header_3
1 jan 600
2 feb 900
3 jan 678
如何告诉文件每隔三个逗号读取一个换行符?
解决方案
假设前几个条目是列名。您可以查看split
文本,找到标题的数量,然后对其余数据进行分区以匹配标题的数量:
data = """header_1, header_2, header_3, 1, jan, 600, 2, feb, 900, 3, jan, 678"""
header = [head.strip() for head in data.split(',') if head.strip().startswith('header')]
rest = [head.strip() for head in data.split(',') if not head.strip().startswith('header')]
length = len(header)
rest = [rest[n:n+length] for n in range(0, len(rest), length)]
pd.DataFrame(rest, columns = header)
header_1 header_2 header_3
0 1 jan 600
1 2 feb 900
2 3 jan 678
推荐阅读
- java - 如何保存我的 .java 文件并通过电子邮件发送?(初学者)
- xcode - 第二个 NSScreen OSX 10.13.4 或更高版本上的 NSWindow
- sql - Tableau 和 MariaDB 连接问题
- angular - Angular ViewChild 和 ComponentFactoryResolver - 保持状态
- javascript - window.center().open(); 第一次通话后偏离中心
- javascript - 如果条件没有检测到空语句js
- jquery - 使用 jQuery 将类添加到单击(嵌套)的 div 元素
- rgb - Postscript、Ghostscript、GSView 中的色彩空间管理
- python-2.7 - “tcl\encoding\ascii.enc 无法提取”用于 pyinstaller-frozen .exe - Windows
- c++ - 将内存中的 .raw 向量转换为 TIFF 数据