Python 创建一个新文件,另一个文件的两列被翻转。

Python 创建一个新文件,另一个文件的两列被翻转。,python,python-3.x,Python,Python 3.x,我想创建一个函数re_order,它在运行时读取一个csv文件并写出在第二个文件上翻转的前两列。分隔符是一个逗号,假定始终有两个逗号。以下是测试文件: Title,Author,Publisher,Year,ISBN-10,ISBN-13 Automate the Boring Stuff with Python,Al Sweigart,No Starch Press,2015,1593275994,978-1593275990 Dive into Python 3,Mark Pilgrim,A

我想创建一个函数re_order,它在运行时读取一个csv文件并写出在第二个文件上翻转的前两列。分隔符是一个逗号,假定始终有两个逗号。以下是测试文件:

Title,Author,Publisher,Year,ISBN-10,ISBN-13
Automate the Boring Stuff with Python,Al Sweigart,No Starch Press,2015,1593275994,978-1593275990
Dive into Python 3,Mark Pilgrim,Apress,2009,1430224150,978-1430224150
"Python Cookbook, Third edition","David Beazley, Brian K Jones",O'Reilly Media,2013,1449340377,978-1449340377
Think Python: How to Think Like a Computer Scientist,Allen B. Downey,O'Reilly Media,2015,1491939362,978-1491939369
"Fluent Python: Clear, Concise, and Effective Programming",Luciano Ramalho,O'Reilly Media,2015,1491946008,978-1491946008

关于如何执行此操作,您有什么想法吗?

下面的函数reorder将filepath作为参数,并创建一个只翻转前两列的新文件(在您的示例中,标题和作者列是翻转的)。你的问题太模糊了,我可能误解了这个问题。如果您想要不同的输出,请告诉我

def reorder(in_file='books.csv', out_file='books_author.csv'):
    with open(in_file, "r") as f:
        data = f.readlines()
        fh = open(out_file, "w")
        for line in data:
            line = line.split(",")
            fh.write(line[1] + '  ' + line[0] +'\n')
        fh.close()

你试过什么?请张贴你的代码,即使它不工作,以及任何相关的错误消息。我真的不知道你在问什么。请看。你试过什么吗?你能显示你想要的输出吗?你到底想要什么?行fh=open(“your_result.txt”,“w”)做什么?它以your_result.txt的名称创建一个新文件。这将包含作者和文本的翻转列。“w”代表write。是否有办法更改代码,以便在命令行上可以说类似于re_order(in_file='books.csv',out_file='books'author.csv')的内容,以便轻松命名输出文件?