簡體   English   中英

python-通過在每行中添加字符來編輯csv

[英]python - editing csv by adding chars to each row

我將此數據集保存在.csv文件中: https : //www.dropbox.com/s/2kzpzkhoiolhnlc/output.csv? dl =0

19,3,12
3
12
16,4
26,15,8,3
2
8
15
20
12,25,20,2,16
12,16
12,25
2,16
1,12
16,4
11,19,25,20
11,20,16,21
25,20,21
.....

對於每一行,如果數字小於51,而我需要添加? 直到該行中有51個字符。 例如,在第一行中,我有19、3、12,所以我必須添加48? 有這樣一行: 19,3,12,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? 在第二行中,我只有一個數字,所以我必須加50?,其他行也一樣。 請問你能幫幫我嗎?

編輯:我已經嘗試過,但是沒有用,它只是在一些行中添加了“”:

import pandas as pd
df = pd.read_csv('output.csv', sep=';')
df = df.fillna('?')
df.to_csv('sorted2.csv', index=False)

您可以僅通過文本文件操作即可完成此操作,這種簡單情況無需使用pandas或csv模塊。

import csv
with open('source.csv') as f:
    with open('result.csv', 'w') as fw:
        for line in f:
            line = line.strip() + (',?' * (50 - line.count(',')))
            fw.write(line + '\n')   

使用熊貓讀取文件並設置所需的列數。 以下代碼讀取文件並分配n列。 默認情況下,多余的元素的值為np.nan

df.read_csv('file', names=range(n))

如果您希望它們具有不同的值,則可以使用

df.fillna(value, inplace = True)

然后,您只需將數據框寫回到文件中,它將具有所需的形狀

df.to_csv('file')

暫無
暫無

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

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