elsiwaveQI 2022-11-30 10:43 采纳率: 57.9%
浏览 170
已结题

如何将list字符串添加到CSV文件表头?

问题遇到的现象和发生背景

有两个CSV文件,一个是表头,只有一行,另一个CSV文件是数组转换过来的,现在要把两个文件合并,表头要在第一行,数据在后面行。我试着使用2-3种方法做,都没有做通。

用代码块功能插入代码,请勿粘贴截图

表头文件header
A B C D
数据文件
1 5 5 9
3 4 10 13
2 6 12 1000
2.5 7 11 15
3.1 8 13 16
4 7.5 14 14
3.5 6.5 11 10
3 5 12 -9999.0
-4 8.5 9.5 -9999.0
-0.1 5 10.5 -9999.9
-0.01 7 -999.25 12
代码
header = ['A','B','C','D']
with open('log.csv', 'a', newline='') as f:
writer = csv.writer(f)
writer.writerow(header)

运行结果及报错内容

运行以后,表头添加到了尾行,不是第一行。原来查看资料,a参数代表把header写到新的csv文件中,如果有数据就添加到后面,而我希望将headers注释行添加到第一行。

我的解答思路和尝试过的方法

我也尝试到使用pd.concat函数合并两个CSV文件,合并结果不对,合并结果是把header文件一行添加到与数据行第一行处于同一行,不是添加到数据前的前面成单独一行,也是没有跑通。

我想要达到的结果

将表头header这个CSV文件添加到CSV数据文件的第一行,而且是将header CSV文件,不是手动定义。

  • 写回答

14条回答 默认 最新

  • 爱音斯坦牛 全栈领域优质创作者 2022-11-30 10:55
    关注
    获得25.00元问题酬金

    本题代码:delimiter来控制分割符,可自己对应,本代码按一个空格处理

    import csv
    # 读表头
    with open('header.csv',"r",newline='') as f:
        data = csv.DictReader(f,delimiter=' ')
        header = data.fieldnames
        
    # 读数据
    with open('data.csv',"r",newline='') as f:
        data = csv.reader(f,delimiter=' ')
        data_list = [i for i in data]
    
    # 合并
    with open('datas.csv',"w",newline='') as f:
        writer = csv.writer(f,delimiter=' ')
        writer.writerow(header) # 写入表头
        writer.writerows(data_list)  # 写入数据
    

    img

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月8日
  • 创建了问题 11月30日

悬赏问题

  • ¥20 python忆阻器数字识别
  • ¥15 无法输出helloworld
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api
  • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
  • ¥15 振荡电路,ADS仿真