Python 在两种情况下合并某些行
我想在一个条件内合并行。如果行长度小于20个字符,请将该行与前一行合并。但我有两列,我想在第二列的代码中应用条件,如果任何一行包含少于20个字符,请删除两列的行 我已经在这里得到了合并行的帮助,但是如果我现在有一个列,我有不同的要求。我有两列,希望在第二行中应用该操作,任何一行少于20个字符。将这一行与前一行合并,并从两列中删除这一行 这是用于合并和删除行的旧代码,但当我有一列时。谢谢你的帮助。 我正在尝试此代码,但没有给出结果Python 在两种情况下合并某些行,python,csv,merge,Python,Csv,Merge,我想在一个条件内合并行。如果行长度小于20个字符,请将该行与前一行合并。但我有两列,我想在第二列的代码中应用条件,如果任何一行包含少于20个字符,请删除两列的行 我已经在这里得到了合并行的帮助,但是如果我现在有一个列,我有不同的要求。我有两列,希望在第二行中应用该操作,任何一行少于20个字符。将这一行与前一行合并,并从两列中删除这一行 这是用于合并和删除行的旧代码,但当我有一列时。谢谢你的帮助。 我正在尝试此代码,但没有给出结果 导入csv 作为pd进口熊猫 df=pd.read\u csv(
导入csv
作为pd进口熊猫
df=pd.read\u csv('Test.csv'))
将open('Output.csv',mode='w',newline=''',encoding='utf-16')作为f:
writer=csv.writer(f,分隔符=“”)
行=[]
对于i,枚举中的数据(df[“句子]):
如果i+1==len(df[“句子]):
writer.writerow([数据])
elif len(df[句子][i+1])<20:
writer.writerow([data+df['sential'][i+1]]))
测向下降(测向指数[[i+1]])
elif len(df[句子][i+1])>=20:
writer.writerow([数据])
我解决了这个问题,将行设为空,然后将其从CSV中删除
df = pd.read_csv('test.csv', encoding='utf-8')
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]) < 19:
writer.writerow([data + df['Sentence'][i + 1]])
df['Sentence'][i + 1] = ''
elif len(df['Sentence'][i + 1]) >= 19:
writer.writerow([data])
df=pd.read\u csv('test.csv',encoding='utf-8')
将open('output.csv',mode='w',newline=''',encoding='utf-16')作为f:
writer=csv.writer(f,分隔符=“”)
行=[]
对于i,枚举中的数据(df[“句子]):
如果i+1==len(df[“句子]):
writer.writerow([数据])
elif len(df[句子][i+1])<19:
writer.writerow([data+df['sential'][i+1]]))
df[‘句子’][i+1]='
elif len(df[句子][i+1])>=19:
writer.writerow([数据])
在修改代码以满足您的需要之前,您需要充分理解代码。不要只是复制粘贴它。@user202729我正在编辑新需求的代码,但没有结果
df = pd.read_csv('test.csv', encoding='utf-8')
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]) < 19:
writer.writerow([data + df['Sentence'][i + 1]])
df['Sentence'][i + 1] = ''
elif len(df['Sentence'][i + 1]) >= 19:
writer.writerow([data])