我有一个包含多列(固定)和 N 行的 CSV 文件。我需要用 n 行中每一列的数据/文本替换脚本中的某些文本,运行脚本,然后用 n+1 行中的数据重复。
我的每一个想法都非常低效。最简单的方法是什么?
非常感谢。
皮特
我有一个包含多列(固定)和 N 行的 CSV 文件。我需要用 n 行中每一列的数据/文本替换脚本中的某些文本,运行脚本,然后用 n+1 行中的数据重复。
我的每一个想法都非常低效。最简单的方法是什么?
非常感谢。
皮特
标准库csv
用于处理逗号分隔的文件。但是,如果您需要 unicode 支持,则需要找到第三方替代品。一般来说,您所描述的任务可以通过以下方式完成:
import csv
data_structure = {'id1': 123, 'id2': 456} # identifiers and values
fsock = open(file_path, 'rU')
# rdr = csv.reader(fsock) # this will read the CSV data, producing lists
dict_rdr = csv.DictReader(fsock) # read data as dictionary, using first row as keys
# if you want to read all the rows...
for entry in dict_rdr:
# update the data structure with data from the file
data_structure[entry['id_column']] = entry['value_column']
fsock.close()
该文件将如下所示:
id_column,value_column
id1,789
id2,666
脚本运行后,数据结构为:
data_structure = {'id1': 789, 'id2': 666}