我有一个为CSV文件的每一行创建文件的脚本。但是,在新创建的文件末尾添加了一个空行。你知道吗
代码:
with open(fullCSV, 'r') as f:
reader = csv.reader(f)
csvList = list(reader)
for item in csvList:
if not os.path.exists(tempLoc + item[0]):
os.mkdir(tempLoc + item[0])
with open(tempLoc + item[0] + r"\prm.263", "w+") as f:
csv.writer(f).writerow(item[1:])
f.close
<> P>有什么方法可以在创建时删除空白行吗?你知道吗提前谢谢
编辑:
默认情况下,^{} 使用^{} 方言,其中
'\r\n'
作为行终止符。你知道吗如果确实不需要任何行终止符,可以使用
lineterminator
参数将其重写为csv.writer()
:由于在每个文件中只写一行,所以在输出中将所有原始行串联在一行中不会有问题。你知道吗
重写的示例代码:
问题是csv模块。您可以看到,无法从
writerow()
的输出中除去行尾字符。毕竟,csv模块假设您可以重复写入行:因此,在每一行输出上发出一条新线是使其工作所必需的。但你的问题是删除文件末尾的换行符。因此,您可以考虑在这两者之间添加一个额外的步骤:(使用python3io模块)
上面,我们为
csv.writer()
创建一个StringIO
as file-like对象,并要求编写器写入缓冲区而不是文件。写完所有行后,我们按g.getvalue()
读取缓冲区,然后去掉末尾的空白(即换行符),然后写入文件。你知道吗如果您感兴趣,csv模块将为您提供每一行:
相关问题 更多 >
编程相关推荐