我有一份txt数据,数据之间由若干空格分隔,我只想要前三列数据,每行数据之间只要有一个空格,并输出新文件,求代码
时间: 2024-02-03 20:11:33 浏览: 118
以下是Python代码实现:
```python
with open('data.txt', 'r') as f:
lines = f.readlines()
new_lines = []
for line in lines:
split_line = line.split()
new_line = ' '.join(split_line[:3])
new_lines.append(new_line)
with open('new_data.txt', 'w') as f:
f.writelines('\n'.join(new_lines))
```
以上代码首先打开原始数据文件,逐行读取数据,并将每行数据按空格分割,然后只取前三列数据,将它们用一个空格连接起来,形成新的一行数据。最后将所有新的行数据写入新文件中。
相关问题
我有一份txt数据,数据之间由若干空格分隔,我只想要前三列数据,并且数据之间只要一个空格,并输出新文件,求代码
你可以使用 Python 中的 split() 函数来分割每一行数据,并只取前三个元素,再利用 join() 函数来将这些元素组成一个新的字符串,并以空格作为分隔符。下面是示例代码:
```python
with open('original_file.txt', 'r') as f:
lines = f.readlines()
new_lines = []
for line in lines:
# 分割每一行数据,只取前三个元素
data = line.split()[:3]
# 将这些元素组成一个新的字符串,以一个空格作为分隔符
new_line = ' '.join(data)
new_lines.append(new_line)
# 将新的数据写入新文件
with open('new_file.txt', 'w') as f:
f.writelines(new_lines)
```
在上面的代码中,我们首先打开原始文件并读取所有行,然后对于每一行数据,我们使用 split() 函数将其分割,并只取前三个元素。接着,我们使用 join() 函数将这些元素组成一个新的字符串,并以一个空格作为分隔符。最后,我们将新的数据写入一个新的文件。
我有一份txt数据,数据之间由若干空格分隔,我只想要前三列数据,并输出新文件,求代码
假设你的数据文件名为 "data.txt",可以使用以下 Python 代码读取数据、提取前三列数据并输出到新的文件 "new_data.txt":
```python
with open('data.txt', 'r') as infile, open('new_data.txt', 'w') as outfile:
for line in infile:
cols = line.split()[:3] # 提取前三列数据
outfile.write('\t'.join(cols) + '\n') # 写入新文件
```
代码解释:
- `with open('data.txt', 'r') as infile` 打开原始数据文件并且用 `infile` 变量表示打开的文件对象。
- `open('new_data.txt', 'w') as outfile` 打开新的文件用来写入提取的数据,并且用 `outfile` 变量表示打开的文件对象。注意,这里用 `'w'` 模式打开文件,这意味着如果文件已经存在,将会被覆盖。
- `for line in infile:` 循环读取原始数据文件中的每一行。
- `cols = line.split()[:3]` 使用 `split()` 方法将每一行分割成一个由多个字符串组成的列表,然后选取列表中的前三个元素作为前三列数据。
- `outfile.write('\t'.join(cols) + '\n')` 将前三列数据以制表符为分隔符连接成一个字符串,并且写入到新的文件中。注意,在每一行的结尾要加上一个换行符 `\n`。
这样就可以将前三列数据提取出来并且写入到新的文件 "new_data.txt" 中了。
阅读全文