【问题标题】:Creating a function to read a CSV file创建读取 CSV 文件的函数
【发布时间】:2019-06-26 00:41:40
【问题描述】:

我需要编写一个名为read_data 的函数来读取虹膜数据集。列的顺序如下:

Column 1
Column 2
Column 3
Column 4
Column 5

需要按以下顺序返回列:

Column 1
Column 3
Column 2
Column 4
Column 5

我试过了

def read(file_path):
    file_path = './file.csv'
    with open (file_path, 'r') as fin:
        for row in fin:
            print(row)

如何改变列的顺序?

【问题讨论】:

  • 请格式化您的代码以使其可读。此外,pandas 有一些不错的 CSV 实用程序,可以让您的工作更轻松
  • Python 带有一个内置 csv 模块,它应该可以相对容易地做你想做的事。

标签: python csv


【解决方案1】:

根据您想做什么,可以有不同的方法。 Here is another answer 显示如何在写入时切换列

这是另一个 非常简单的解决方案 - 它实际上并不适用于任何其他模块,但可能会有更简单的解决方案,具体取决于您正在寻找的内容。 像这样改变你的功能:

for row in fin:
    cols = row.split(",")
    desired_order=[0,2,1,3,4]
    new_row = ""
    for num in desired_order:
        new_row += cols[num]
        new_row += ","
    print(new_row)

测试输入

1,2,3,4,5,
6,7,8,9,10

生产

1,3,2,4,5,
6,8,7,9,10,

【讨论】:

    【解决方案2】:

    您可以将 csv 文件分配给数据框:

    import pandas as pd
    
    df = pd.read_csv("iris.csv")
    
    #Then you can rearrange the elements in the list how you want
    
    df = df[['Column1', 'Column2', 'Column3']]
    
    df.to_csv("iris.csv")
    

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-01
      • 2023-02-01
      • 1970-01-01
      • 2017-04-13
      • 2015-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多