我需要将几个 csv 文件合并为一个。原始文件的行如下所示:
1623196800000,2021-06-09 00:00:00,BTC/USD,33416.0,33570.0,32928.0,33041.0,5801499.81753867,175.58487387
我使用了以下代码:
import os
import glob
import pandas as pd
os.chdir("C:/Papers/RawData/1hdata")
extension = 'csv'
all_filenames = [i for i in glob.glob('*.{}'.format(extension))]
combined_csv = pd.concat([pd.read_csv(f) for f in all_filenames ])
combined_csv.to_csv( "combined_csv.csv", index=False, encoding='utf-8-sig')
但是,结果不是预期的结果:
1623193200000.0,2021-06-08 23:00:00,BTC/USD,33469.0,33679.0,33342.0,33402.0,4839734.72218386,144.89356093,,,,,,,,
此外,在某些单元格中,日期之后还有额外的逗号:
1586160000.0,2020-04-06 08:00:00,,,,,,,,,,,,,,,LTC/USD,41.92,42.1,41.83,42.0,61880.73,1474.74,,,,,,,,,,,,,,
如何解决这个耻辱并通常合并两个文件?所有文件的格式为 csv,数据以逗号分隔。最终文件应包含原始形式的所有原始行,而无需在任何地方添加无限数量的逗号 :)
评论中已经解释了一切。由于您根本不需要任何数据处理,您可以尝试不使用 pandas - 只是连接字符串?这对我很有用)(仅当文件中没有包含列名的行时)