我完全了解如何使用Python以正常方式读取csv文件。我也知道我可以解析列表(例如["a, b, 123"]
)。两者都是因为发电机和产量而起作用。
我的问题略有不同:
dict
,如{"line": "a, b, 123", "line_count": 555, ..}
dict
属性相同"csv"
延长,如{"line": "a, b, 123", "line_count": 555, .., "csv": ["a", "b", "c"]}
最简单和非常传统的方法是(伪代码):
def my_csv_reader(myconfig):
my_reader = CsvReader(**myconfig)
for line in some_gen_providing_the_list_of_dicts:
line["csv"] = csv.reader(line["line"]) (1)
yield line
我实际上可以通过将标记为(1)的行替换为:
来使用此方法line["csv"] = csv.reader([line["line"]], **myconfig) (1)
但是我需要解析500 mio行,并且为每一行创建和初始化CSV对象可能会产生大量垃圾,实际上是不必要的。我也不喜欢标题行,DictReader
等将不再内置。如果我只能:
reader
对象。to_csv(my_line)
函数,返回该行的csv。Python 3.x在某种程度上是否可行?
答案 0 :(得分:0)
你是说这个吗?
cognitoUser