【问题标题】:Conversion of a .csv file to an .xls file将 .csv 文件转换为 .xls 文件
【发布时间】:2017-05-15 13:33:10
【问题描述】:

我希望自动将 .csv 文件转换为 .xls 文件。

我用 Python 试试这个:

import os
import csv
import xlsxwriter

f = open('U:\\INSEE\\Data.csv','r')
reader = csv.reader(f, delimiter=';')

# Création d'un nouveau fichier
fichier = xlsxwriter.Workbook('U:\\INSEE\\fichier.xlsx')
Feuil = fichier.add_worksheet('Feuil')

i=0

for row in reader:
    Feuil.write(i,0,row)
    i=i+1


reader.close()
fichier.close()

或者这个:

import os 
csv_file = 'C:/Users/../fichier.csv' 
excel_file = os.path.splitext(csv_file)[0] + '.xlsx' 

这一切都行不通。你能帮帮我吗?

【问题讨论】:

  • 这一切都行不通。您应该告诉我们这意味着什么,因为您知道,我们无法读懂您的想法。如果有错误,请包含跟踪,如果没有错误,请包含一个很好的描述,说明输出结果如何偏离您的预期,最好用一小组样本数据(2 行 CSV 数据可能就足够了)来说明问题。
  • 另外,使用适当的标签 :) 这显然(对我来说)是一个 python 问题,但你用excel(不是编程语言)、csv(不是编程语言`和@ 987654325@(也不是编程语言),因此这往往会将这个问题的范围限制在可能了解您正在使用的实际语言和包的人身上......
  • 感谢您的建议。我已经尝试过但没有任何结果,这就是问题所在。我用 Python 编程但没有标记它,因为我不反对另一种语言 :)

标签: python excel csv


【解决方案1】:

我会使用 pandas,因为它使这变得非常简单。

import pandas as pd

csv_file = pd.read_csv('U:\\INSEE\\Data.csv',sep=';')
csv_file.to_excel('U:\\INSEE\\fichier.xlsx')

【讨论】:

  • 它无法复制这个问题。根据我的研究,您的文件中似乎可能包含不符合 UTF-8 的字符。您的文件中存在什么类型的数据?
  • 使用 "csv_file = pd.read_csv('U:\\INSEE\\Data.csv',sep=';',encoding=‌​'latin-1'),它可以工作。
  • 现在我很好奇存在哪些强制latin-1 编码的字符。很高兴您能够完成这项工作。
猜你喜欢
  • 2014-03-13
  • 1970-01-01
  • 2011-10-05
  • 1970-01-01
  • 2021-05-21
  • 1970-01-01
  • 1970-01-01
  • 2020-12-30
  • 1970-01-01
相关资源
最近更新 更多