python - 在 Python 中创建并附加带有标题的 CSV 文件一次

标签 python csv dataframe

我正在使用 Python 代码创建 CSV 文件。 我能够创建和存储数据。但我无法在 csv 文件中添加标题,即列名称。 我已创建数据框。 创建和附加csv的代码如下:

main_app.py:

def handle_data(data):
  msg5 = data.replace("\n"," ").replace("\r"," ").split(",")
  print(msg5)
  d = dict(s.split(':') for s in msg5)
  data_frame = pd.DataFrame(list(d.items())).transpose() 
  data_frame.columns = data_frame.iloc[0]
  data_frame = data_frame.reindex(data_frame.index.drop(0))
  print(data_frame)
  filename = (value_text + time2 + ".csv")
  #print(filename)
  fields = list(data_frame.columns) 
  with open(filename, 'a',newline='') as writeFile:
    writeFile = csv.writer(writeFile)
    writeFile.writerow(fields)
    writeFile.writerows(data_frame.values)

def read_from_port(ser):
 while True:
     reading = ser.readline()
     handle_data(reading.decode("utf-8"))```

read_from_port(serial_port)

此代码每次迭代都会添加列名称:

我得到的输出:

A  B  C
0  0  0
A  B  C
1  1  1
.......

我需要的输出是:

A  B  C
0  0  0
1  1  1
2  2  2
.....

有人可以帮帮我吗? 提前致谢。

最佳答案

csv.DictWriter 可以为你做到这一点!

csvfile = csv.DictWriter(writeFile, fieldnames=fields)
csvfile.writeheader()
csvfile.writerows(data_frame.values)

关于python - 在 Python 中创建并附加带有标题的 CSV 文件一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59104055/

相关文章:

python - 为什么我得到 python manage.py syncdb 的错误 (IndentationError : unexpected indent)

php - 如何使用 php 导出 sql 数据的 csv 文件?

excel - 使用VBA将CSV文件读入Excel,然后将结果输出到特定工作表

python - 如何从满足条件的数据框中提取列和行索引

python - 找到 Pandas 时间序列之间的相关性

python - Ubuntu、 python : Cannot import python shapely package

python - 在通用 View 上收到意外的关键字参数 'pk'

python - 在 Python 中不使用全局变量跟踪递归调用的次数

java - while循环读取csv文件越界

r - 将列转换为日期类型会更改原始值的年份