Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在两种情况下合并某些行_Python_Csv_Merge - Fatal编程技术网

Python 在两种情况下合并某些行

Python 在两种情况下合并某些行,python,csv,merge,Python,Csv,Merge,我想在一个条件内合并行。如果行长度小于20个字符,请将该行与前一行合并。但我有两列,我想在第二列的代码中应用条件,如果任何一行包含少于20个字符,请删除两列的行 我已经在这里得到了合并行的帮助,但是如果我现在有一个列,我有不同的要求。我有两列,希望在第二行中应用该操作,任何一行少于20个字符。将这一行与前一行合并,并从两列中删除这一行 这是用于合并和删除行的旧代码,但当我有一列时。谢谢你的帮助。 我正在尝试此代码,但没有给出结果 导入csv 作为pd进口熊猫 df=pd.read\u csv(

我想在一个条件内合并行。如果行长度小于20个字符,请将该行与前一行合并。但我有两列,我想在第二列的代码中应用条件,如果任何一行包含少于20个字符,请删除两列的行

我已经在这里得到了合并行的帮助,但是如果我现在有一个列,我有不同的要求。我有两列,希望在第二行中应用该操作,任何一行少于20个字符。将这一行与前一行合并,并从两列中删除这一行

这是用于合并和删除行的旧代码,但当我有一列时。谢谢你的帮助。 我正在尝试此代码,但没有给出结果

导入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])