如何将空格分隔的数据转换为csv格式Python

2024-09-27 00:22:59 发布

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

我试图在字符串(文件)的前两个空格中添加逗号,然后在第三个空格中添加分号。我试图解决的问题是:通过使用RegX命令result = re.sub("\s", ",", text),它返回text="example,text,example,"。当然,这只会用逗号替换任何空格。如何使用regex执行下面的示例?你知道吗

示例文件

536924636   www.microsoft.com   http://www.microsoft.com/pkiops/crl/MicW
536924733   www.microsoft.com   http://www.microsoft.com/pkiops/certs/Mi
536925898   crl.microsoft.com   http://crl.microsoft.com/pki/crl/product
536924636   www.microsoft.com   http://www.microsoft.com/pkiops/crl/MicW
536924733   www.microsoft.com   http://www.microsoft.com/pkiops/certs/Mi
536925898   crl.microsoft.com   http://crl.microsoft.com/pki/crl/product
536924636   www.microsoft.com   http://www.microsoft.com/pkiops/crl/MicW
536924733   www.microsoft.com   http://www.microsoft.com/pkiops/certs/Mi

编辑

536924636,www.microsoft.com,http://www.microsoft.com/pkiops/crl/MicW;536924733,www.microsoft.com,http://www.microsoft.com/pkiops/certs/Mi;536925898,crl.microsoft.com,http://crl.microsoft.com/pki/crl/product(etc..);

简而言之,我正在尝试使用Regex和Python来读取文本并将其转换为CSV格式。你知道吗

我如何做到这一点???你知道吗

谢谢


Tags: 文件textcomhttpwwwproductmicrosoft空格
2条回答

(?m)[^\S\r\n]+(?=(?:\S+[^\S\r\n]*)+$)

我已经在this link演示了代码。你知道吗

text = """536924636   www.microsoft.com   http://www.microsoft.com/pkiops/crl/MicW
536924733   www.microsoft.com   http://www.microsoft.com/pkiops/certs/Mi
536925898   crl.microsoft.com   http://crl.microsoft.com/pki/crl/product
536924636   www.microsoft.com   http://www.microsoft.com/pkiops/crl/MicW
536924733   www.microsoft.com   http://www.microsoft.com/pkiops/certs/Mi
536925898   crl.microsoft.com   http://crl.microsoft.com/pki/crl/product
536924636   www.microsoft.com   http://www.microsoft.com/pkiops/crl/MicW
536924733   www.microsoft.com   http://www.microsoft.com/pkiops/certs/Mi
"""

print("%s;" % ";".join([line.strip().replace("\t", ",") for line in text.splitlines()]))

输出

536924636,www.microsoft.com,http://www.microsoft.com/pkiops/crl/MicW;536924733,www.microsoft.com,http://www.microsoft.com/pkiops/certs/Mi;536925898,crl.microsoft.com,http://crl.microsoft.com/pki/crl/product;536924636,www.microsoft.com,http://www.microsoft.com/pkiops/crl/MicW;536924733,www.microsoft.com,http://www.microsoft.com/pkiops/certs/Mi;536925898,crl.microsoft.com,http://crl.microsoft.com/pki/crl/product;536924636,www.microsoft.com,http://www.microsoft.com/pkiops/crl/MicW;536924733,www.microsoft.com,http://www.microsoft.com/pkiops/certs/Mi;

函数:join()

此函数返回一个字符串,它是传递序列中字符串的串联-'seperator'.join(sequence)。你知道吗

编辑:

读取文件

with open('filename.txt', 'r') as file:
    print("%s;" % ";".join([line.strip().replace("\t", ",") for line in file.readlines()]))

相关问题 更多 >

    热门问题