【发布时间】:2020-12-26 02:12:11
【问题描述】:
我想合并条件中的行。如果该行的长度小于 20,则将该行与之前的行合并。 我正在尝试使用此代码,但输出不正确 感谢您的帮助。
import csv
datam = []
with open("All.csv", 'r', encoding='UTF-8') as f:
lines = f.readlines()
for line in lines:
doc = line
datam.append(doc)
with open('Test.csv', mode = 'w',newline ='',encoding='UTF-8') as f:
writer = csv.writer(f,delimiter=' ')
for i, data in enumerate(datam):
if len(datam)< 20:
writer.writerow([datam[i-1] + ',' + datam[i]])
datam.remove(data[i])
if len(data)>= 20:
writer.writerow([datam[i]])
【问题讨论】:
-
为什么输出不正确?请添加一个示例,说明您期望什么以及您的代码会得到什么
-
@Valentino 我添加了一张图片来解释需要什么
-
@snakecharmerb 我想从代码中得到什么,如果行的长度小于 20 个字符,则将此行与上一行合并然后将其删除。代码合并这行少于 20 个字符,但保留两行。我只需要这两行中的一行。请查看图片中的输出和所需的输出。感谢您的回复