Python- 如何将用户输入写入 Excel 文件?
Python- how do I write user input to an Excel file?
我是 Python 的新手,所以我希望这听起来不错。
我如何使用 Python 从用户输入写入 Excel 文件?
我希望我的脚本询问用户 "Name:" "Job Title:" "Building Number:" "Date:" 等,然后从原始输入中一个接一个地填写 [=20= 中的相应列] 传播sheet。我也不希望将来使用该脚本来覆盖 sheet 中以前的数据。我希望每次都在 spreadsheet 中创建一个新行,然后在每一行中填写正确的条目。我希望这是有道理的。非常感谢您的帮助。
您可能需要使用 pandas 模块。它使读取、写入和操作 Excel 文件变得非常容易:
Pandas is an open source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language.
您可以使用 openpyxl 写入工作簿。这是一些基本用法,应该有助于避免覆盖:
import openpyxl
wb = openpyxl.load_workbook('C:/test.xlsx')
ws = wb.active
i = 0
cell_val = ''
# Finds which row is blank first
while cell_val != '':
cell_val = ws['A' + i].value
i += 1
# Modify Sheet, Starting With Row i
wb.save('C:/test.xlsx')
希望对您有所帮助。
已编辑,正在获取输入和时间:
要从用户那里获取信息,请使用
x = input('Prompt: ')
但是,如果你想要实际电流,我建议使用time模块:
>>> from time import strftime
>>> date = strftime('%m-%d-%y')
>>> time = strftime('%I:%M%p')
>>> print(date)
08-28-15
>>> print(time)
01:57AM
我还要补充一点,XlsxWriter 也是一个优秀的写入 Excel 的库,但是,与 OpenPyXl 不同的是,它只是一个写入器,不会读取 Excel 个文件。
从他们documentation中找到的一个例子如下:
import xlsxwriter
# Create a workbook and add a worksheet.
workbook = xlsxwriter.Workbook('Expenses01.xlsx')
worksheet = workbook.add_worksheet()
# Some data we want to write to the worksheet.
expenses = (
['Rent', 1000],
['Gas', 100],
['Food', 300],
['Gym', 50],
)
# Start from the first cell. Rows and columns are zero indexed.
row = 0
col = 0
# Iterate over the data and write it out row by row.
for item, cost in (expenses):
worksheet.write(row, col, item)
worksheet.write(row, col + 1, cost)
row += 1
# Write a total using a formula.
worksheet.write(row, 0, 'Total')
worksheet.write(row, 1, '=SUM(B1:B4)')
workbook.close()
我是 Python 的新手,所以我希望这听起来不错。 我如何使用 Python 从用户输入写入 Excel 文件? 我希望我的脚本询问用户 "Name:" "Job Title:" "Building Number:" "Date:" 等,然后从原始输入中一个接一个地填写 [=20= 中的相应列] 传播sheet。我也不希望将来使用该脚本来覆盖 sheet 中以前的数据。我希望每次都在 spreadsheet 中创建一个新行,然后在每一行中填写正确的条目。我希望这是有道理的。非常感谢您的帮助。
您可能需要使用 pandas 模块。它使读取、写入和操作 Excel 文件变得非常容易:
Pandas is an open source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language.
您可以使用 openpyxl 写入工作簿。这是一些基本用法,应该有助于避免覆盖:
import openpyxl
wb = openpyxl.load_workbook('C:/test.xlsx')
ws = wb.active
i = 0
cell_val = ''
# Finds which row is blank first
while cell_val != '':
cell_val = ws['A' + i].value
i += 1
# Modify Sheet, Starting With Row i
wb.save('C:/test.xlsx')
希望对您有所帮助。
已编辑,正在获取输入和时间:
要从用户那里获取信息,请使用
x = input('Prompt: ')
但是,如果你想要实际电流,我建议使用time模块:
>>> from time import strftime
>>> date = strftime('%m-%d-%y')
>>> time = strftime('%I:%M%p')
>>> print(date)
08-28-15
>>> print(time)
01:57AM
我还要补充一点,XlsxWriter 也是一个优秀的写入 Excel 的库,但是,与 OpenPyXl 不同的是,它只是一个写入器,不会读取 Excel 个文件。
从他们documentation中找到的一个例子如下:
import xlsxwriter
# Create a workbook and add a worksheet.
workbook = xlsxwriter.Workbook('Expenses01.xlsx')
worksheet = workbook.add_worksheet()
# Some data we want to write to the worksheet.
expenses = (
['Rent', 1000],
['Gas', 100],
['Food', 300],
['Gym', 50],
)
# Start from the first cell. Rows and columns are zero indexed.
row = 0
col = 0
# Iterate over the data and write it out row by row.
for item, cost in (expenses):
worksheet.write(row, col, item)
worksheet.write(row, col + 1, cost)
row += 1
# Write a total using a formula.
worksheet.write(row, 0, 'Total')
worksheet.write(row, 1, '=SUM(B1:B4)')
workbook.close()