Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python将CSV转换为Excel后,所有标题都放在一列中?_Python_Excel_Csv - Fatal编程技术网

使用Python将CSV转换为Excel后,所有标题都放在一列中?

使用Python将CSV转换为Excel后,所有标题都放在一列中?,python,excel,csv,Python,Excel,Csv,所以我有多个CSV,我用这个脚本组合起来: import os import glob import numpy as np import pandas as pd #set working directory os.chdir("Path to CSVs") #find all csv files in the folder #use glob pattern matching -> extension = 'csv' #save result in list -&

所以我有多个CSV,我用这个脚本组合起来:

import os
import glob
import numpy as np
import pandas as pd
#set working directory
os.chdir("Path to CSVs")

#find all csv files in the folder
#use glob pattern matching -> extension = 'csv'
#save result in list -> all_filenames
extension = 'csv'
all_filenames = [i for i in glob.glob('*.{}'.format(extension))]
#print(all_filenames)

#combine all files in the list
combined_csv = pd.concat([pd.read_csv(f) for f in all_filenames ])
#export to csv
combined_csv.to_csv("mz_all.csv", index=False, encoding='utf-8-sig')
我想做的是将它转换成一个xlsx文件,我已经做了,但是csv中的所有标题都放在一个列中,看起来非常混乱。转换的代码如下所示:

# Reading the csv file
df_new = pd.read_csv('mz_all.csv')

# saving xlsx file
GFG = pd.ExcelWriter('MZ_EXCEL.xlsx')
df_new.to_excel(GFG, index=False)

GFG.save()
下面是excel的外观,因为您可以看到所有标题都被推到了第一列中,但我只希望它像csv中一样进行组织

您是否尝试过像这样立即将其保存到Excel

import os
import glob
import numpy as np
import pandas as pd
#set working directory
os.chdir("Path to CSVs")

#find all csv files in the folder
#use glob pattern matching -> extension = 'csv'
#save result in list -> all_filenames
extension = 'csv'
all_filenames = [i for i in glob.glob('*.{}'.format(extension))]
#print(all_filenames)

#combine all files in the list
combined_csv = pd.concat([pd.read_csv(f, sep=';') for f in all_filenames ])

combined_csv.to_excel('MZ_EXCEL.xlsx', index=False)

csv文件是否正确保存?因此,当您加载:df_new=pd.read_csv('mz_all.csv')时,标题是否正确?是的,保存的csv中的所有内容看起来都应该如此:)我无法重新创建您的问题。为什么不立即将其保存到\u excel而不是首先保存到\u csv?因为我有多个csv,它们在结构上总是相同的,只是数据不同。所以我想我先把它们组合起来,然后把它们转换成excel。更多或更少地循环所有csv并逐个添加它们是更好的选择吗?不,我的意思是,在您进行concat之后,立即将组合的\u csv数据框保存到excel。我只是尝试了一下,但我遇到了与以前相同的标题问题:(我刚刚注意到您的分隔符是“;”,默认分隔符是“,”。因此您需要将sep=“;”添加到您的read_csv代码中。