gpt4 book ai didi

Python:如何解析位置?

转载 作者:行者123 更新时间:2023-11-28 21:39:58 24 4
gpt4 key购买 nike

没有任何包含多个列的标题:

john, 1, orange, chicken
mary, 7, purple, hamburger
joey, 2, yellow, chicken

最佳答案

为此你不需要csv,只需要简单的python。该解决方案在内存方面非常高效,因为它只是逐行操作。

with open('temp.csv', 'r') as fin, open('temp2.csv', 'w') as fout:
for row in fin:
if row.split()[3] == 'chicken':
fout.write(row)

这比需要读取并在内存中存储所有将写入文件的数据的列表理解更有效。

时间

# Create sample data file of 30k rows, 2/3rds with 'chicken'.
with open('temp.csv', 'w') as f:
for _ in range(10000):
f.write("john,1,orange,chicken\n")
f.write("mary,7,purple,hamburger\n")
f.write("joey,2,yellow,chicken\n")

%%timeit
with open('temp.csv', 'r') as fin, open('temp2.csv', 'w') as fout:
for row in fin:
if row.split()[3] == 'chicken':
fout.write(row)
# 10 loops, best of 3: 41 ms per loop

%%timeit
with open('temp.csv') as old_file, open('temp3.csv', 'w') as new_file:
cr = csv.reader(old_file)
cw = csv.writer(new_file)
cw.writerows([r for r in cr if r[3] == 'chicken'])
# 10 loops, best of 3: 58.7 ms per loop

# Turn previous list comprehension into a generator.
%%timeit
with open('temp.csv') as old_file, open('temp3.csv', 'w') as new_file:
cr = csv.reader(old_file)
cw = csv.writer(new_file)
cw.writerows((r for r in cr if r[3] == 'chicken'))
# 10 loops, best of 3: 66.5 ms per loop

with open('temp.csv') as input_file, open('temp4.csv', 'w', newline='') as output_file:
reader = csv.reader(input_file, delimiter=',')
writer = csv.writer(output_file, delimiter=',')
writer.writerows(filter(lambda x: x[3].strip() != 'chcicken', reader))
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-41-072d37a3ff92> in <module>()
----> 1 with open('temp.csv') as input_file, open('temp4.csv', 'w', newline='') as output_file:
2 reader = csv.reader(input_file, delimiter=',')
3 writer = csv.writer(output_file, delimiter=',')
4 writer.writerows(filter(lambda x: x[3].strip() != 'chcicken', reader))

TypeError: 'newline' is an invalid keyword argument for this function

关于Python:如何解析位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46165585/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com