【发布时间】: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