【问题标题】:Write to Excel - Reading CSV with Pandas & Openpyxl - Python写入 Excel - 使用 Pandas 和 Openpyxl 读取 CSV - Python
【发布时间】:2018-08-04 00:37:33
【问题描述】:

我有一个每天保存到特定文件夹的 csv 报告。我真正想做的是每天早上自动从文件夹中打开该 csv,提取我需要的内容,并将其附加到我的电子表格中。宝贝先一步,我是新手。

我似乎可以很好地阅读 csv。 (这是它的链接) https://drive.google.com/open?id=16leX2pBV1-kXUtufOn0w00Uq9FrddZl2

我正在尝试将数据框附加到我的 excel 工作簿中的不同工作表中,但当我开始使用 openpyxl 时我搞砸了。

import pandas as pd
import openpyxl

file = ('artb.csv')
df = pd.read_csv(file, sep=',',header=0,usecols=[0,1,2,3])

df = pd.DataFrame(list)
print (df)

输出:

       Date Balance Fwd        Charges        Credits
0  3/4/2018    1,905.00  69,799,377.71  73,405,427.70
1  3/4/2018           0   1,221,028.15     596,488.63

df1=[df.iloc[0]]
df2=[df.iloc[1]]
print (df1)

输出:

Date                3/4/2018
Balance Fwd         1,905.00
Charges        69,799,377.71
Credits        73,405,427.70
Name: 0, dtype: object


wb = openpyxl.Workbook()
wb = openpyxl.load_workbook(filename = 'summary.xlsx')

sheets = wb.sheetnames

# Stu Tab
ws = wb[sheets[1]]
ws2 = wb[sheets[2]]

这就是问题所在,我已经尝试了至少十几种不同的方法。

    #append df1 to Stu Sheet
        for row in df1:
            ws.append(row)

   #append df2 to Sp Sheet
            for row in df2:
                ws.append(row)

    wb.save("summary.xlsx")

它现在没有给我错误,但它没有写任何东西:(

我会继续搞砸它。我会很感激任何建议。谢谢!

【问题讨论】:

  • 对我来说,您的输出看起来不像来自 csv,至少,没有逗号分隔符。文件是什么样的?
  • 对我来说也不像是真正的 csv。它也以 txt 文件的形式出现,我只是认为使用 csv 会更容易。
  • 如果不是 csv,那么 csv-parsers 将无法工作。
  • 听起来 CSV 文件不规则。如果您能提供一个示例文件,那就太好了。
  • 前三行的结构与第 5 行以后的结构不匹配,因此您无法使用 CSV 库读取此文件。请检查文件的出处及其外观。我怀疑你可能想跳过前四行。

标签: python excel pandas csv openpyxl


【解决方案1】:

您是否尝试过使用 pandas 库来执行此操作?有一个函数叫.to_csv

【讨论】:

猜你喜欢
  • 2017-06-04
  • 2020-07-07
  • 2021-07-04
  • 2017-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-20
相关资源
最近更新 更多