将行号添加到CSV

5tmbdcev  于 11个月前  发布在  其他
关注(0)|答案(3)|浏览(88)

假设我有这个CSV:

apple
orange
banana
strawberry

我怎样才能使它总是有正确的行号的左边的项目,并适应它的情况下,一个项目是添加或删除的csv。
例如:

1,apple
2,orange
3,banana
4,strawberry

如果我去掉banana --> strawberry变成了第3行

1,apple
2,orange
3,strawberry

如果加上香蕉:

1,apple
2,orange
3,strawberry
4,banana

我正在考虑做一个独立的函数,在CSV完成编辑的最后启动。它将检查文件,并在对CSV进行所有修改后自行安排。

0qx6xfy6

0qx6xfy61#

import pandas as pd
df = pd.read_csv('XYZ.csv')
df['row_num'] = df.reset_index().index
#df.to_csv("XYZ_new.csv")
print(df)

如果有帮助就告诉我

webghufk

webghufk2#

我在黑暗中拍摄,因为我看不到你的代码,但一个简单的计数器可以帮助?

with open("fruits.csv", newline="") as fruit_basket:
            fruits = csv.DictReader(fruit_basket, delimiter=";")
            count = 1
            for row in fruits:
                print("{0}. {1}".format(count, row["Name of Fruit"]))
                count += 1
oo7oh9g9

oo7oh9g93#

可以使用enumerate。默认情况下,它从0开始。

代码(Python3)

csv_data = {
        'apple',
        'orange',
        'banana',
        'strawberry'
    }
    
    for index, key in enumerate(csv_data, start=1):
        # save to csv file
        print('{}\t{}'.format(index, key))
    
    # remove 'banana'
    print("\nremove 'banana'")
    new_csv_data = {key for index, key in enumerate(csv_data) if key != 'banana'}
    
    for index, val in enumerate(new_csv_data, start=1):
        # save to csv file
        print('{}\t{}'.format(index, val))
    
    # add 'banana'
    print("\nadd 'banana'")
    new_csv_data.add('banana')
   
    for index, val in enumerate(new_csv_data, start=1):
        # save to csv file
        print('{}\t{}'.format(index, val))

输出

1个橙子
2个草莓
3苹果
4香蕉
删除“香蕉”
1个橙子
2个草莓
3苹果
添加'香蕉'
1个橙子
2个草莓
3苹果
4香蕉

相关问题