我一直遇到以下问题,我需要声明输入文件的 input_fields 并且我只是从文件复制并粘贴到我的变量中,添加逗号和引号。例如:
input = ("First Name", "Middle Name", "Last Name")
我想自动化这个过程,这样我的程序就可以有这样的一行:
input = inputize.function1("name_of_file.csv")
其中 function1 获取输入文件(“name_of_file.csv”)并返回,在本例中是一个包含三个字符串(“First Name”、“Middle Name”、“Last Name”)的元组。正如您可以想象的那样,这现在很痛苦,因为我必须为很多文件手动执行此操作,其中许多文件有很多列......
我想我希望基本结构如下所示,但我一直认为必须有一种非常简单的方法来获取 csv 文件的第一行,分隔每个列标题,在其周围加上引号,并在其后加上逗号,然后将整个内容存储为元组...
def function1(input_file):
with open(input_file, "rb") as infile:
for line in infile:
split = line.split(",")
for item in split:
input = '"' + item + '","
return input
我希望这对其他人也有帮助,因为它似乎是一个足够常见/超级烦人的手动任务,并且肯定会感谢任何指导。
附录
我一直在写这样的代码:
input_fields = ("First Name", "Middle Name", "Last Name")
reader = csv.DictReader(infile, fieldnames = input_fields)
根据您在下面的回答,似乎最重要的是没有实际意义,因为我所要做的就是:
reader = csv.DictReader(infile)