gpt4 book ai didi

python - 使用 csv writer 时从迭代器中删除双引号

转载 作者:行者123 更新时间:2023-11-28 18:42:40 25 4
gpt4 key购买 nike

我想通过拆分现有的 csv 行来创建一个 csv。

输入 csv:

A,R,T,11,12,13,14,15,21,22,23,24,25

输出 csv:

A,R,T,11,12,13,14,15
A,R,T,21,22,23,24,25

到目前为止,我的代码如下所示:

def update_csv(name):
#load csv file
file_ = open(name, 'rb')
#init first values
current_a = ""
current_r = ""
current_first_time = ""
file_content = csv.reader(file_)
#LOOP
for row in file_content:
current_a = row[0]
current_r = row[1]
current_first_time = row[2]
i = 2
#Write row to new csv
with open("updated_"+name, 'wb') as f:
writer = csv.writer(f)
writer.writerow((current_a,
current_r,
current_first_time,
",".join((row[x] for x in range(i+1,i+5)))
))
#do only one row, for debug purposes
return

但是该行包含我无法删除的双引号:

A002,R051,02-00-00,"05-21-11,00:00:00,REGULAR,003169391"

我试过使用 writer = csv.writer(f,quoting=csv.QUOTE_NONE)得到一个 _csv.Error: need to escape, but no escapechar set .

删除这些引号的正确方法是什么?

最佳答案

我认为您可以使用以下方法简化将每一行分成两行的逻辑:

def update_csv(name):
with open(name, 'rb') as file_:
with open("updated_"+name, 'wb') as f:
writer = csv.writer(f)
# read one row from input csv
for row in csv.reader(file_):
# write 2 rows to new csv
writer.writerow(row[:8])
writer.writerow(row[:3] + row[8:])

关于python - 使用 csv writer 时从迭代器中删除双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24320926/

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