大家好,我正在寻找代码的解决方案,我尝试将 CSV 文件转换为 XLSX 文件,并且所有数据都缩减为一列,并用;
。 (见下面的图片)
您能否帮我解决这两个代码之一,以便在转换时使数据表示等于 csv 文件? (看图片)
以下两个代码给出相同的结果:(重要的是,我在 Jupyter Notebook 上使用 Python 3.6 env):
import os
import glob
import csv
from xlsxwriter.workbook import Workbook
for csvfile in glob.glob(os.path.join('.', 'LOGS.CSV')):
workbook = Workbook(csvfile[:-4] + '.xlsx')
worksheet = workbook.add_worksheet()
with open(csvfile, 'r') as f:
reader = csv.reader((line.replace('\0','-') for line in f))
for r, row in enumerate (reader):
for c, col in enumerate(row):
worksheet.write(r, c, col)
workbook.close()
import os
import csv
import sys
from openpyxl import Workbook
data_initial = open("new.csv", "r")
sys.getdefaultencoding()
workbook = Workbook()
worksheet = workbook.worksheets[0]
with data_initial as f:
data = csv.reader((line.replace('\0','') for line in data_initial), delimiter=",")
for r, row in enumerate(data):
for c, col in enumerate(row):
for idx, val in enumerate(col.split('/')):
cell = worksheet.cell(row=r+1, column=c+1)
cell.value = val
workbook.save('output.xlsx')
This is my CSV file data organization:
And this is what I get when I convert it into an XLSX:
根据评论编辑
好的,所以我用了@DeepSpace 的program https://stackoverflow.com/questions/48747988/convert-csv-file-to-xlsx-file-python#comment84496089_48747988:
import pandas as pd
pd.read_csv('C:/Users/Pictures/LOGS.CSV')
.to_excel('C:/Users/Pictures/excel.xlsx')
and I am still getting this:
好的解决方案:转换很棒。但就我而言,第一列以某种方式移动了。数据数字字符串什么都没有,第一列是它的值......(见下图)
import pandas as pd
filepath_in = "C:/Users/Pictures/LOGS.csv"
filepath_out = "C:/Users/Pictures/excel.xlsx"
pd.read_csv(filepath_in, delimiter=";").to_excel(filepath_out)