使用 Python 在每行的第一个和第二个单词后插入逗号?
Posted
技术标签:
【中文标题】使用 Python 在每行的第一个和第二个单词后插入逗号?【英文标题】:Insert commas after the first and second words in each line using Python? 【发布时间】:2021-03-27 17:26:48 【问题描述】:我有一个 .txt 文件,我需要将其转换为 CSV。 这是我用来转换文件的代码:
import pandas as pd
wb = pd.read_csv('12.txt', encoding='utf-8', delimiter = '،', header = None)
wb.to_csv('12.csv',encoding='utf-8-sig', index = None)
问题是,在每一行中,第一个和第二个单词需要在单独的单元格中,但是它们没有用逗号分隔:
This is an, example, to show, you
The second line, is, the, same
My file contains, thousands of, sentences
如示例所示,只有每行的第一个和第二个单词应该位于单独的单元格中(其他单元格可能包含多个单词!)。 如何使用 Python 仅在每行的第一个和第二个单词后添加逗号?
谢谢
【问题讨论】:
【参考方案1】:如果您的目标是让每个单词位于不同的单元格中,您可以将以下内容应用于每一行:
line = "This is an, example, to, show, you"
split = line.split(",")
x = [item for sublist in [k.split(" ") for k in s] for item in sublist]
y = list(filter(lambda x: x != "", x))
output: ['This', 'is', 'an', 'example', 'to', 'show', 'you']
【讨论】:
【参考方案2】:我会在这里使用str.replace
:
wb['col'] = wb['col'].str.replace('^(\S+) (\S+)', '\1, \2,')
【讨论】:
谢谢。我不应该在这行之前定义“col”吗? 我假设你已经有一个列col
,你只是想覆盖它。以上是关于使用 Python 在每行的第一个和第二个单词后插入逗号?的主要内容,如果未能解决你的问题,请参考以下文章
在Google工作表中提取单元格的第二个,第三个和第四个单词