【发布时间】:2020-02-27 21:10:16
【问题描述】:
我正在尝试使用 python 向 csv 添加一些具有固定值的新列,但所有值都被压缩到一个单元格而不是单独的单元格中。如何解决这个问题?
我的python代码:
default_text = 'AoE'
with open('C:/Users/username/Desktop/Output/AoE_test.csv', 'r', newline='') as read_obj, \
open('C:/Users/username/Desktop/Output/output_1.csv', 'w', newline='') as write_obj:
csv_reader = reader(read_obj, delimiter=',')
csv_writer = writer(write_obj, delimiter=',')
for row in csv_reader:
row.append(default_text)
csv_writer.writerow(row)
这是代码从中读取数据的原始 CSV (AoE_test.csv):
这是用数据写入的 csv (output_1.csv) 的最终输出:
我也试过注释掉row.append():
for row in csv_reader:
# row.append(default_text)
csv_writer.writerow((row, default_text))
和输出:
我希望将附加列写入 CSV 文件的单独列中。提前非常感谢!
【问题讨论】:
-
在我看来,您正在创建一个新行,而不是在行尾添加数据。我也可能是错的,但看起来您的数据被封装在括号内,因此它可能被错误地读取/写入。您可以通过解析 csv 文件并使用文件处理程序将输出写入新文件,在行尾手动添加“、”和列数据。
-
default_text = 'AoE' with open('C:/Users/username/Desktop/Output/AoE_test.csv', 'r', newline='') as read_obj, \ open('C:/Users/username/Desktop/Output/output_1.csv', 'w', newline='') as write_obj: csv_reader = reader(read_obj, delimiter=',') csv_writer = writer(write_obj, delimiter=',') for row in csv_reader: row.append(default_text) csv_writer.writerow(row) -
@an1que 在您的帖子中,而不是作为评论,这是不可读的。我们仍然会丢失数据。说到,除非绝对必要,否则请不要将信息作为图像共享。请参阅:meta.stackoverflow.com/questions/303812/…、idownvotedbecau.se/imageofcode、idownvotedbecau.se/imageofanexception。