python - Pandas 中 .txt 文件中的单独列
问题描述
原始 .txt 文件如下所示
e1 47 3 Self-emp-inc Married-civ-spouse Transport-moving White Male Cuba
e2 52 16 Self-emp-not-inc Married-civ-spouse Prof-specialty White Male United-States
e3 26 9 Private Divorced Craft-repair White Male United-States
e4 60 9 Private Married-civ-spouse Craft-repair White Male United-States
我努力了
adult = pd.read_csv("Adult/dataset_full.txt", header=None)
它只给出一列。如果使用sep=' '
它会给
<Error tokenizing data. C error: Expected 187 fields in line 3, saw 197>
试过了skiprows=,
read_fwf()
,read_table()
都给出了类似的结果。
有人对如何将此文件分成列有任何见解吗?
解决方案
如果你file.txt
是这样的:
e1 47 3 Self-emp-inc Married-civ-spouse Transport-moving White Male Cuba
e2 52 16 Self-emp-not-inc Married-civ-spouse Prof-specialty White Male United-States
e3 26 9 Private Divorced Craft-repair White Male United-States
e4 60 9 Private Married-civ-spouse Craft-repair White Male United-States
然后你有四行,其中的9
值用空格分隔。这样你就可以:
- 逐行读取文件
- 剥离并分割空间上的线
- 将此传递给
pandas
DataFrame
- (可选)
headers
为列创建 - 最后将其转储到
.csv
文件中
例如:
import pandas as pd
with open("file.txt") as f:
df = pd.DataFrame([line.strip().split() for line in f.readlines()])
headers = [f"Col{i}" for i in range(1, 10)]
df.to_csv("your_table.csv", index=False, header=headers)
输出:
推荐阅读
- python - 使用带有 --debug 参数的 Pyinstaller 时出现的问题
- css - 如何修复 HTML 样式覆盖 CSS?
- javascript - Openlayers geometry shapes not zooming when map is zoomed
- c# - Convert.ToBase64String 给出空字符串
- sql - SQL:我需要一列根据其他列的值自动更新其值
- plot - 如何为 X 轴创建对数刻度的 ROC 曲线图?
- android - Android 应用程序因配置更改而崩溃
- xml - 如何在 Xpath 1.0 中进行连接?
- android - BroadcastReceiver 和 ACTION_BOND_STATE_CHANGED 在 Android 9.0 中部分工作
- python - 一个 django APIView 中有两个 get 请求