两个或更多空格分隔符的Python

2024-10-01 15:31:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我用空格sinheader.txt分隔这个txt . 我怎么能做一个脚本,读这个txt和它写一个csv文件。在

这是我试图实现的脚本:

import csv
import pandas as pd
prueba = open('station.info').readlines()
open('sinheader.txt', 'w').writelines(prueba[4:-1])
with open('sinheader.txt', 'r') as in_file:
    lines = (line.split("  ") for line in in_file)
    with open('malobueno.txt', 'w') as out_file:
        writer = csv.writer(out_file)
        writer.writerows(lines)

这就是我得到的:Bad.txt


Tags: csvinimporttxt脚本aswithline
2条回答

在pandas中,可以在分隔符中使用正则表达式。这是假设您不介意在使用pandas中阅读该文件。在

import pandas as pd
filename = 'station.info'
lines = pd.read_csv(filename, sep='[\s]{2,}',header=None)

正则表达式搜索两个或多个空格。因此,只有当输入文件使用两个空格分隔并且文本字段使用单个空格时,这才有效。在

然后可以使用pandas.DataFrame.to_csv以csv格式保存数据。在

我相信这个问题来自于你使用split(“”)。由于名称“AACR”后面有许多空格,因此函数将其视为多个列。在

This answer可能对你有帮助。split()函数在不带参数的情况下用于用任意数量的空格分隔字符串。在

我希望有帮助。在

相关问题 更多 >

    热门问题