Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
In the Python programming language, there exist various proficient tools to write data to XLSX format. Two of the most commonly used tools are XlsxWriter and openpyxl. With these tools, one can conveniently create an Excel file or write data to an existing Excel file. However, there are some limitations to be aware of when using these tools. Specifically, XlsxWriter is capable of creating files but not modifying them, whereas openpyxl can modify files but does not retain all formatting.
In the data science domain, such limitations can pose challenges, especially if employees have significantly edited Excel files and only require updated data. To address this issue, in2xl offers a simplistic and efficient solution. This tool enables users to transfer data and data frames directly into an Excel file without affecting the existing formatting. Hence, in2xl can be a useful tool for data scientists seeking to update data in pre-existing Excel files.
in2xl is available on pypi.org. Simply run pip install in2xl
to
install it.
Requirements: >= Python 3.7
Project dependencies installed by pip:
lxml pandas openpyxl ruamel.std.zipfile XlsxWriter
The names of the functions are intentionally adapted to openpyxl to make them easier to use and to adapt existing scripts.
It is not possible to create new workbooks using in2xl. The intended approach is to open an existing Excel file (xlsx), insert data, and save it. The opened file serves as a template, where a copy is generated and modified to suit the requirements.
Example 1:
from in2xl import Workbook
wb = Workbook().load_workbook(path)
But this method is also possible:
Example 2:
import in2xl as ix
wb = ix.load_workbook(path)
ws = wb[sheetname]
Additionally you can check the names of all worksheets
print(wb.sheetnames)
Different types of data can be inserted directly via insert()
ws.insert(df, 2, 3, header=False)
More detailed description of this function:
insert(data, row=1, column=1, axis=0, header=True, index=False)
Parameters:
data: Union(str, int, float, decimal, pd.DataFrame) Besides strings and real numbers, DataFrames can also be inserted directly. row: int The row in which the data is to be inserted. The default is the first row. column: int The column in which the data is to be inserted. The default is the first column. axis: int Specify whether the data is inserted in the original orientation or a transposed direction. Default is 0 0 : If the data is in a vertical orientation, it will be inserted vertically. 1 : If the data is in a vertical orientation, it will be inserted horizontally. header: bool True to include headers in the data, False otherwise. Default is True. index: bool True to include index in the data, False otherwise. Defaults to False. ignore_nan: bool True to include nan-values in the data, False otherwise. Defaults to True.
ws.save(path)
ws.close()
The file can be saved multiple times (under different names). As long as the file has not been closed, the temporary Excel file exists. The close command deletes this temporary file.
Template files are sometimes created for multiple tasks/situations. Not all worksheets are always necessary for this. To be able to use these files anyway, it is possible to hide these worksheets.
print(wb.wb_state) # Returns the visibility status of all worksheets
print(ws.state) # Returns the visibility status of the current worksheet
ws.state = 0 # Sets the visibility status to 'visible'.
ws.state = 1 # Sets the visibility status to 'hidden'. User can make this worksheet visible again out of Excel via "Unhide".
ws.state = 2 # Sets the visibility status to 'veryHidden'. Worksheet is not visible under "Unhide" in Excel.
FAQs
A package that allows to insert data in an XLSX file without changing the layout.
We found that in2xl demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.