python - 在特定行中拆分文本文件并保存输出
问题描述
hii 专家我有一个长文本文件,其中包含如下数据
1
2
3
4
5
6
7
我想在特定列索引处拆分文件并将拆分后的输出并排粘贴。所以我的预期输出是
1 5
2 6
3 7
4
任何人都可以在 python 中提出一个解决方案。谢谢。
解决方案
假设您的输入存储在一个名为的列表中x
,并且您希望在索引处拆分idx
import numpy as np
# Split into two lists
x1, x2 = x[:idx], x[idx:]
# Get their lengths and determine maximum length
l1, l2 = len(x1), len(x2)
max_l = max(l1, l2)
# Lists have to be of equal length. Fill with empty strings
x1 += [''] * (max_l - l1)
x2 += [''] * (max_l - l2)
# Combine lists again
y = np.dstack([x1, x2])[0]
对于您的示例,请尝试使用
x = [1, 2, 3, 4, 5, 6, 7]
idx = 4
结果是
[['0', '5'], ['1', '6'], ['2', '7'], ['3', ''], ['4', '']]
例如,您可以通过以下方式打印它
print('\n'.join([' '.join(y_) for y_ in y]))
但也可以对条目进行 for 循环。
您可以通过以下方式保存输出:
np.savetxt('out.dat', y, fmt='%s')
我确信有更简单的方法可以做到这一点,但这似乎很容易理解。
推荐阅读
- r - 如何全屏显示图形?
- java - 最小化窗口时如何阻止摆动从窗口中删除所有内容?
- java - Gradle 确定在构建时运行哪些单元测试
- python - 如何知道其他人的Django项目使用的python包版本并相应地安装它们?
- python - 如何在 sqlalchemy 中使用特定数字启动主键?
- flutter - 当我的 ListView 在展开时出现 RenderBox 错误
- javascript - 如何将图像设置为所有
- tensorflow - 如果 D-Drive 中安装了 anaconda,如何使用 TensorFlow GPU?
- c# - 如何比较具有相同属性的两个视图模型,如果属性的值不同,则将该属性添加到不同的列表中?
- google-bigquery - 我可以从 Can 存储传输到 BigQuery 的最大文件大小是多少