保存每个lin的前两个单词

2024-04-25 23:18:56 发布

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

我有一个csv文件,“description”,它的第一列描述了不同的属性。我想告诉Python只复制每行的前两个单词。然后将前两个单词保存到一个新的csv中。我查看了下面的链接,但没有得到我期望的结果。在

How to get the first word in the string

import pandas as pd
import csv

with open('C:/Users/description.csv','r') as k:
    reader = csv.reader(f, delimiter=',')
    for row in reader:
    print(" ".join(row.split(0)[:2]))

错误:

^{pr2}$

Tags: 文件csvthetoinimportget属性
2条回答

这样可以解决您的问题:

对于Python 3.x

import csv

with open("input.csv", "r") as inp, open("output.csv", "w", newline='') as outp:
    reader = csv.reader(inp, delimiter=";")
    writer = csv.writer(outp, delimiter=";")
    for row in reader:
        first_col = row[0]
        first_two_words = " ".join(first_col.split(" ")[:2])
        # You can write more information if you need to.
        writer.writerow([first_two_words])

对于Python 2.7.x

^{pr2}$

只需将字符串拆分,然后将其重新连接,但只保留前两项:

s = "My girlfriend is a rich lady"
print(" ".join(s.split()[:2]))

结果:

^{pr2}$

相关问题 更多 >