我尝试删除文件中的空白行;但这并没有消除我的空白行。
def removeWhiteSpaceLine():
fp = open("singleDataFile.csv")
for i, line in enumerate(fp, 1):
if i == 2:
line.strip()
fp.close()
我的示例文件如下:(我要删除第二行,即空白)
Name,Address,Age
John,Melbourne,28
Kati,Brisbane,35
.....
答案 0 :(得分:2)
line.strip()
不会修改line
,而是返回一个新字符串。
仅在其行上调用line.strip()
无效。您必须将结果重新分配给变量:
line = line.strip()
但是,看来您无论如何都不应该使用strip
:
strip()
返回已删除前导和尾随字符的字符串副本。
对我来说,您不清楚要问什么:
1)fp = open("singleDataFile.csv")
以只读模式打开文件。如果您希望更新文件,那将不起作用。如果要修改文件,请以写入模式(“ w”或“ r +”)打开它。
2)也许您不想修改文件,而只忽略第二行?在这种情况下,您应该将所有行添加到列表中,而忽略第二行。
with open("singleDataFile.csv", "r+") as f:
content = f.readlines() # read content
f.seek(0) # go back to the begin of the file
for i, line in enumerate(content):
if i != 1: # the condition could also be if line.strip()
f.write(line) # write all lines except second line
f.truncate() # end of file
答案 1 :(得分:0)
尝试使用熊猫库。
pd.colname.str.strip()
答案 2 :(得分:0)
尝试这样,这里修改相同的文件,就像将相同的内容重写为相同的文件(空行除外)一样
with open("singleDataFile.csv","r") as f:
lines=f.readlines()
with open("singleDataFile.csv","w") as f:
for line in lines:
if line.strip():
f.write(line)