我试图自动输出一个excel文件,这样它就更容易读了。我有一个excel文件,列A到BY。我的计划是读取每一行与用户输入相匹配的日期。然后读取行中的每个单元格,如果单元格不是空白,则输出单元格值。在此之后,数据将以以下格式写入文本文件:
“Name”是其中一列。因此,我认为这样做的想法是制作一个名称字典,每个名称都有一个嵌套的字典,包含每个列的标题和值。
我正在使用openpyxl来完成这项任务。我能够正确地循环所有符合我的标准的行和单元格。但是,我很难将它转换为我感兴趣使用的格式的文本文件。可以为所有列提供一些打印单元格值和附带列头的方法吗?以及在所需的格式?快乐提供更多的信息,是必要的。感谢任何能帮忙的人!这也是我的第一篇帖子,所以让我知道,否则,我可以帮助。
编辑:我添加了一些用于遍历列和行的代码。“工作日期”是一个用户输入值,它只选择具有要处理的正确日期值的行。
遍历给定日期的每一行,并打印其中有值的单元格。
cards = {}
activity_list = []
for row in active_sheet.iter_rows(max_row=22):
if row[0].value == work_date:
cards[row[1].value] = ['Start']
for cell in row:
if cell.value:
activity_list.append(cell.value)
for key, value in cards.items():
cards[key].append(activity_list)
else:
continue这里我们只选择日期正确的行,并且只打印相关的、非空的单元格.并将它们打印并格式化为txt文件。
with open(timecardtxt, 'w') as file_object:
for key, values in cards.items():
file_object.write("Name: " + key)
for item in value[1]:
print(item, file=file_object)发布于 2021-12-27 21:27:58
您的代码包含了一些错误,我认为这里不需要太多的讨论,但是很明显,它不会按现在的方式运行,也不会按您的要求执行。
然而,我认为这才是你真正需要的:
import pandas as pd
df = pd.read_excel('data.xlsx')
df.to_csv('data.csv')请注意,您可以使用pandas安装pip install pandas,而pandas需要安装openpyxl才能使read_excel工作。
这个简单的例子不会进行任何过滤或任何事情,但是使用dataframe df很容易。在.csv中,空单元格只是被表示为空单元格。
https://stackoverflow.com/questions/70491564
复制相似问题