python - 用新行将 csv 与 Pandas 连接起来
问题描述
我试图连接多个 csv,但输出文件在一行中包含所有数据。如何在给出输出时添加换行符。这是我的示例代码
from os import chdir
from glob import glob
import pandas as pdlib
# Produce a single CSV after combining all files
def produceOneCSV(list_of_files, file_out):
# Consolidate all CSV files into one object
result_obj = pdlib.concat([pdlib.read_csv(file) for file in list_of_files], sort=False)
# Convert the above object into a csv file and export
result_obj.to_csv(file_out, index=False, encoding="utf-8")
# Move to the path that holds our CSV files
csv_file_path = 'Path_for_all_the_csv/'
chdir(csv_file_path)
# List all CSV files in the working dir
file_pattern = ".csv"
list_of_files = [file for file in glob('*.csv')]
print(list_of_files)
file_out = "ConsolidateOutput.csv"
produceOneCSV(list_of_files, file_out)
解决方案
当您连接多个数据框时,您可以指定轴,无论您是喜欢连接列还是行。
例如
result_obj = pdlib.concat([pdlib.read_csv(file) for file in list_of_files], sort=False, axis='columns')
在此处查看 concat 函数文档。
推荐阅读
- ruby-on-rails - Rail 的 end_of_month() 方法总是返回 30 作为最后日期
- .net - 更改 ClickOnce 以将新安装 url 与其他 PublicKeyToken 一起使用
- vb.net - 如何在 DataGridView 中的行之间绘制垂直线?
- flutter - 如何将小部件自己的数据传递给函数
- python-3.x - 在 Python 中创建服务包装器
- testng - 如何使用同一 Testng 类中定义的 1 个数据提供程序并行运行单个 @Test 方法
- javascript - 如何有条件地增加值?
- java - 将值映射到实体中缺少的 DTO
- terraform - 无法对我的 terraform 模块设置条件
- swift - 由于未声明的类型,如何将代码转换为 Swift 4?