【发布时间】:2021-04-11 19:49:37
【问题描述】:
我想合并条件中的行。如果该行的长度少于 20 个字符,则将该行与前一行合并。但是我有两列,我想在第二列的代码中应用条件,如果任何行包含少于 20 个字符,请删除两列的行。
我已经在这里获得了合并行的帮助,但是如果我现在只有一列,我有不同的要求。我有两列,想在第二行应用操作,任何行少于 20 个字符 将此行与前一行合并,并从两列中删除此行。
这是合并和删除行的旧代码,但是当我有一列时。谢谢你的帮助。 我正在尝试这段代码,但没有给出结果。
import csv
import pandas as pd
df = pd.read_csv('Test.csv')
with open('Output.csv', mode='w', newline='', encoding='utf-16') as f:
writer = csv.writer(f, delimiter=' ')
rows = []
for i, data in enumerate(df['Sentence']):
if i + 1 == len(df['Sentence']):
writer.writerow([data])
elif len(df['Sentence'][i + 1]) < 20:
writer.writerow([data + df['Sentence'][i + 1]])
df.drop(df.index[[i + 1]])
elif len(df['Sentence'][i + 1]) >= 20:
writer.writerow([data])
【问题讨论】:
-
在修改代码以满足您的需要之前,您需要很好地理解代码。不要只是复制粘贴它。
-
@user202729 我正在编辑新需求的代码,但没有结果