python - 导入不规则大小的文本文件
问题描述
我想将具有 11576 行和 7 列的文本文件导入到 pandas 数据框中,然后对其进行整形,使其具有 229 行和 351 列。
在文本文件中,每 34 行左右,有 2 个空格(即该行的第 6 列和第 7 列没有值)。
我想在这一点上对数据进行切片并将所有先前的数据分配为第一行,但是我不知道如何在该点剪切数据并将其全部放在一行中。
我已经尝试过pd.read_csv
,但我无法达到我需要的尺寸。
任何建议都会非常棒。谢谢艾玛
这是文本文件的链接。
解决方案
我相信需要read_csv
创建DataFrame
,然后numpy.reshape
选择所有没有最后 2 个的列:
df = pd.read_csv('fieldgen_out1.txt', skiprows=1, header=None, sep='\s+')
#print (df)
#[351 rows x 229 columns]
df = pd.DataFrame(df.values.reshape(351, -1)[:, :-2])
#print (df)
然后如果需要转置:
#[229 rows x 351 columns]
df = pd.DataFrame(df.values.reshape(351, -1)[:, :-2].T)
#print (df)
推荐阅读
- visual-studio-code - 在 VSCode 中打开终端时的默认目录
- php - phpmyadmin: mysqli_real_connect(): (HY000/2002): 没有这样的文件或目录 - Ubuntu 20.04, phpmyadmin 4:4.9.5+dfsg1-2
- scala - 在 Scala 中使用 Flink 时,如何从类型类的 DataStreamSource 中提取值?
- javascript - setTimeout() 中 focus() 的正确语法是什么?
- python - 如何将列表中的每个偶数转换为奇数
- swift - MPMediaItem 数组未在 SwiftUI 列表中打印歌曲标题
- c++ - 类和数据抽象
- google-custom-search - 我网站的 Google 自定义搜索引擎似乎并没有真正抓取我的网站
- javascript - 如何从与 id 数组匹配的数组中获取数组中的对象?
- javascript - 后端是否与前端不兼容(带有外键)?