删除python

时间:2016-10-19 04:32:52

标签: python csv

或者,我试过这个,但它似乎没有摆脱有空格的行(我想删除的行数中包含空白行)。同时,上面的代码似乎摆脱了那些空格,但有行终止。

    next(filecsv) for i in range(10)

5 个答案:

答案 0 :(得分:0)

您可以使用简单的while循环提示用户并收听standard input或使用input()功能。

关于如何删除文件中的行的问题,您可以将该文件作为行列表读入。

lines=[]
with open('input.txt') as f:
    lines=f.readlines()

然后,您可以使用list slicing将要跳过的行的所有内容写回文件。

此外,我很确定之前已经提出了类似的问题,请尝试Google或在下次搜索Stack Overflow以查找您的问题或问题的一部分。

<强> P.S。 我还想补充一点,如果你正在读一个非常大的文件,如果你一次读一行,并输出到一个单独的文件会更好。对于足够大的文件,可能会用完RAM以将文件保存在内存中。

答案 1 :(得分:0)

有很多方法可以从命令行工具中获取输入(这是我推断你写的内容)。这是一对夫妇:

选项1:在名为out.py的文件中创建 使用sys.argv

import sys
arg1 = sys.argv[1]
print("passed in value: %s" % arg1)

然后通过传入参数(注意索引1,脚本是索引0)

来运行它
python out.py cell1
passed in value: cell1

选项2:

一种可能更好的方法是使用命令行工具框架,例如点击:http://click.pocoo.org/5/。这几乎包含了你想做的一切,而且它们可以为你处理大部分硬逻辑。

答案 2 :(得分:0)

fileinput.input()与inplace update file选项一起使用:

from __future__ import print_function
import fileinput

skip_rows = int(input('How many rows to skip? '))
f = fileinput.input('input.csv', inplace=True)
for i in range(skip_rows):
    f.readline()
for row in f:
    print(row, end='')

这将跳过输入文件的第一行skip_rows并覆盖它,而无需管理写入和移动临时文件。

(如果您使用的是Python 3,则可以省略导入print_function

答案 3 :(得分:0)

  

首先我打开了csv文件[...]

您是否考虑使用pandas来处理您的数据? 如果是,pandas.read_csv允许使用<select> <option value="http://www.test.com/page8" selected="selected" >United States dollar (USD)</option> <option value="http://www.test.com/page0">Japanese yen (JPY)</option> <option value="http://www.test.com/page1">Afghan afghani (AFN)</option> <option value="http://www.test.com/page2">Albanian lek (ALL)</option> <option value="http://www.test.com/page3">Algerian dinar (DZD)</option> <option value="http://www.test.com/page4">Angolan kwanza (AOA)</option> <option value="http://www.test.com/page5">Argentine peso (ARS)</option> <option value="http://www.test.com/page6">Armenian dram (AMD)</option> <option value="http://www.test.com/page7">Aruban florin (AWG)</option> </select> 参数跳过行。

答案 4 :(得分:0)

您通常会使用迭代器来读取文件。你可以这样做:

numToSkip = 3
with open('somefile.txt') as f:
    for i, line in enumerate(f):
        if i < numToSkip : continue

        # Do 'whatnot' processing here