如何在csv文件中把字符写在最前面,谢谢
本帖最后由 flyps 于 2023-1-1 20:55 编辑f = open('aa.csv','a',newline='')
csv_writer = writer(f, delimiter=',')
csv_writer.writerow(['a','b','c'])
f.close()
运行上面的代码,字符a,b,c是生成在文本最后一行的,如图,
而我需要的把字符abc写在第一行,如图
请问应该如何改写,谢谢 本帖最后由 阿奇_o 于 2023-1-2 22:22 编辑
flyps 发表于 2023-1-2 09:19
1,2,3
4,5,6
本身是存在的,abc是要追加上去的,我需要abc追加到第一行上,而不是最后一行
with open('aa.csv', 'r', encoding='utf8') as f:
data = f.readlines()
# print(data)
# 保险起见,覆盖重写到另一个csv文件(如 bb.csv)
with open('bb.csv', 'w', encoding='utf8') as f:
f.write(','.join(list('abc')))
f.write('\n')
f.writelines(data)
excel里左对齐一下就好了
csv本质就是一连串文本,按照符号分割的
应该没法设置格式 还没明白你想问什么。 ba21 发表于 2023-1-1 20:51
还没明白你想问什么。
麻烦重新看一下 open('aa.csv','a'追加都是在后面加
open('aa.csv','w'写入方式,按顺序重写一遍就可以了(如果原先有内容,先读取,然后统一写入)
注:这本身就是操作文本文件一样的操作,没有更好的办法。
f = open('aa.csv','w',newline='')
csv_writer = csv.writer(f, delimiter=',')
csv_writer.writerow(['a','b','c'])
csv_writer.writerow()
csv_writer.writerow() ba21 发表于 2023-1-1 21:17
open('aa.csv','a'追加都是在后面加
open('aa.csv','w'写入方式,按顺序重写一遍就可以了(如果原先 ...
1,2,3
4,5,6
本身是存在的,abc是要追加上去的,我需要abc追加到第一行上,而不是最后一行 那得先把csv读取成数据,然后操作数据插入到第1行(如用pandas或openpyxl),最后统一写回到文件里。open并没有直接的插入功能。 flyps 发表于 2023-1-2 09:19
1,2,3
4,5,6
本身是存在的,abc是要追加上去的,我需要abc追加到第一行上,而不是最后一行
如果原先有内容,先读取,然后统一写入 suchocolate 发表于 2023-1-2 10:16
那得先把csv读取成数据,然后操作数据插入到第1行(如用pandas或openpyxl),最后统一写回到文件里。open并 ...
使用pandas来操作是可以的,但不想这样操作 flyps 发表于 2023-1-2 20:32
使用pandas来操作是可以的,但不想这样操作
那就自己写一个函数,先把数据读取成列表,然后列表里插入,之后再统一写进csv文件。
页:
[1]