【问题标题】:Merge several columns from multiple csv files to one csv file将多个 csv 文件中的几列合并到一个 csv 文件中
【发布时间】:2020-06-29 11:38:21
【问题描述】:

我刚刚开始学习 Pandas,目前正在尝试将不同 csv 文件中的几列合并到一个 csv 文件中。以下是原始文件。

到目前为止,这是我的代码:

import pandas as pd
source_file = pd.read_csv("E:\\bachelor thesismaterials\\TrainData\\CSV\\Forward_2_4\\F358\\CH1.CSV")
column_sensor_1 = 'C1 in V'
column_to_save = source_file[column_sensor_1] 
target_file = pd.DataFrame(data={'':[column_to_save]},dtype = int) 
target_file.to_csv('E:\\bachelor thesis materials\\1d\\Forward_1.csv',index=False)

original file part 1

original file part 2

original file part 3

我正在尝试将列 'C1 in V'、'C2 in V'、'C3 in V' 组合在一起,结果应该类似于 expected result

但是当我使用 DataFrame 时,新的输入总是替换文件中已有的数据,而且格式很奇怪,所有数据都存储在一个单元格中。

你们能帮忙吗?非常感谢。

【问题讨论】:

  • 请提供可重现的代码数据示例和预期输出。私人文件夹和图片的链接不是很有帮助:-)
  • 哼...首先,一个csv文件就是一个text文件!因此,不要提供不可复制的图像,而是将内容显示为文本,因为它出现在简单的文本编辑器中,如记事本、vi 的记事本++。接下来,您没有展示如何组合列,因此这不是minimal reproducible example。作为新用户,您应该阅读How to Ask 以了解此处预计将如何提问。
  • 非常感谢。问题解决了。我将阅读“如何提问”,谢谢。 :)

标签: python pandas csv export-to-csv


【解决方案1】:

试试这个:

import pandas as pd

forward = None
for i in range(3):
    j = i + 1
    t = pd.read_csv(f'E:\\bachelor thesismaterials\\TrainData\\CSV\\Forward_2_4\\F358\\CH{j}.CSV')[f'C{j} in V'].to_frame()
    forward = t if forward is None else forward.join(t)
f = 'E:\\bachelor thesis materials\\1d\\Forward_1.csv'
forward.to_csv(f, index=False)
forward = pd.read_csv(f)
print(forward)

输出:

    C1 in V   C2 in V  C3 in V
0  0.008496  0.006152 -0.01221
1  0.010059  0.004199 -0.01709
2  0.012793  0.004004 -0.02275
3  0.014746  0.002246 -0.02803
4  0.018262  0.002441 -0.03311
5  0.020801  0.002441 -0.03936
6  0.019043  0.001855 -0.04443
7  0.018457 -0.000490 -0.04775

【讨论】:

  • 非常感谢。这真的很有帮助!:)
猜你喜欢
  • 1970-01-01
  • 2019-10-11
  • 1970-01-01
  • 2018-03-30
  • 1970-01-01
  • 1970-01-01
  • 2014-05-17
  • 2019-08-26
  • 1970-01-01
相关资源
最近更新 更多