python - 如何将空格分隔的数据转换为 csv 格式 - Python
问题描述
我正在尝试在字符串(文件)的前两个空格中添加一个逗号,然后我想在第三个瞬间添加一个分号。我要解决的问题是;通过使用这个 RegX 命令result = re.sub("\s", ",", text)
,它返回text="example,text,example,"
. 这当然只会用逗号替换任何空格。如何使用正则表达式来执行以下示例?
示例文件
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 格式。
我如何实现这一目标???
谢谢
解决方案
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;
函数:加入()
此函数返回一个字符串,它是传递的序列中字符串的串联 - 'seperator'.join(sequence)
。
编辑:
从文件中读取
with open('filename.txt', 'r') as file:
print("%s;" % ";".join([line.strip().replace("\t", ",") for line in file.readlines()]))
推荐阅读
- python - 我如何制作它以读取用户所说的内容并使用它来扮演角色?不和谐.py
- jquery - 如何使用JS在asp.net中的GridView中使用属性查找值?
- php - 您如何缩小现代 PHP 中的语言环境/代码页上下文?
- python - 为什么这会给我这个错误?“发生异常:InvalidSchema”
- java - 为什么我的 java 日志记录到控制台和文件
- python - 优化边缘搜索
- python - 为什么我的图像在 Microsoft Paint 中绘制不正确?
- javascript - Fuse JS 搜索结果评分没有意义
- android - 在关卡后保存分数,然后用它来解锁菜单中的东西。统一二维
- python - ZeroDivisionError - 无法找出问题所在