簡體   English   中英

在熊貓讀取csv中保存跳過行

[英]Save skip rows in pandas read csv

我有一個跳過行的列表(比如 [1,5,10] --> 行號),當我將它傳遞給pandas read_csv 時,它會忽略這些行。 但是,我需要將這些跳過的行保存在不同的文本文件中。

我瀏覽了 pandas read_csv 文檔和其他幾篇文章,但不知道如何將其保存到文本文件中。

例子 :

輸入文件 :

a,b,c
# Some Junk to Skip 1
4,5,6
# Some junk to skip 2
9,20,9
2,3,4
5,6,7

代碼 :

skiprows = [1,3]
df = pandas.read_csv(file, skip_rows = skiprows)

現在 output.txt :

# Some junk to skip 1
# Some junk to skip 2

提前致謝!

def write_skiprows(infile, skiprows, outfile='skiprows.csv')
    maxrow = max(skiprows)
    with open(infile, 'r') as f, open(outfile, 'w') as o:
        for i, line in enumerate(f):
            if i in skiprows:
                o.write(line)
            if i == maxrow:
                return

試試這個,

df=pd.read_csv('input.csv')
skiprows=[1,3,6]
df,df_skiprow=df.drop(skiprows),df.iloc[skiprows]
#df_skiprow.to_csv('skiprows.csv',index=False)

輸入:

    a    b
0   1   c1
1   2   c2
2   3   c3
3   4   c4
4   5   c5
5   6   c6
6   7   c7
7   8   c8
8   9   c9
9  10  c10

輸出:df

    a    b
0   1   c1
2   3   c3
4   5   c5
5   6   c6
7   8   c8
8   9   c9
9  10  c10

df_skiprow

   a   b
1  2  c2
3  4  c4
6  7  c7

解釋:

  1. 讀取整個文件。
  2. 通過 df 和 skiprow 拆分文件
  3. 轉換為單獨的 csv 文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM