Python 列表数据输出集成:txt|xlsx|csv
2023-12-20 16:58:21
代码实现思路
为了更灵活地输出数据,我们创建了一个数据打印工具,该工具可以将二维列表的数据以不同的格式输出,包括文本文件(txt)、Excel文件(xlsx)和CSV文件(csv)。我们使用Python中的Pandas库来处理数据,并提供了一个简单的命令行界面示例。
函数要点整理
print_data
函数
这个函数根据用户选择的输出格式将数据打印到相应的文件中。具体要点包括:
-
输入参数:
data
: 要打印的数据,以二维列表形式提供。output_format
: 输出格式的选择,0表示txt,1表示Excel,2表示CSV。
-
输出结果:
- 根据选择的格式将数据输出到相应文件。
整体代码(附加注释)
import pandas as pd
from os import getcwd
def print_data(data, output_format):
"""
根据指定的输出格式打印数据。
:param data: 要打印的数据,二维列表形式
:param output_format: 输出格式选择,0 为 txt,1 为 Excel,2 为 CSV
"""
if output_format == 0:
with open('output.txt', 'w') as f:
for row in data:
f.write('\t'.join(map(str, row)) + '\n')
elif output_format == 1:
df = pd.DataFrame(data)
df.to_excel('output.xlsx', index=False, header=False)
elif output_format == 2:
df = pd.DataFrame(data)
df.to_csv('output.csv', index=False, header=False)
else:
print("Invalid output format choice. Choose 0 for txt, 1 for Excel, or 2 for CSV.")
def main():
# 示例多维列表
sample_data = [
['中南财经政法大学南湖校区', '114.385177,30.474255', '027-88386114', '湖北省', '武汉市', '江夏区',
'东湖新技术开发区南湖大道182号'],
['湖北工业大学', '114.308919,30.478607', '027-59751111', '湖北省', '武汉市', '洪山区',
'南李路28号(湖工大地铁站B口步行300米)'],
['武汉工程大学流芳校区', '114.432657,30.461083', '027-87905138', '湖北省', '武汉市', '江夏区',
'东湖新技术开发区光谷一路206号'],
['武汉老年大学', '114.287970,30.638652', '027-82774421', '湖北省', '武汉市', '江岸区', '金桥大道26号'],
['武汉理工大学南湖校区', '114.332921,30.508522', '027-87859017', '湖北省', '武汉市', '洪山区', '雄楚大道']
]
# 选择输出格式,0 为 txt,1 为 Excel,2 为 CSV
output_format_choice = 1
# 执行打印
print_data(sample_data, output_format_choice)
# 打印当前文件夹路径
print('文件输出路径为:', getcwd())
if __name__ == "__main__":
main()
注意事项
- 请确保Pandas库已经安装,可以使用
pip install pandas
进行安装。 - 在运行程序之前,根据需要修改示例数据和输出路径。
术语与函数解释
术语/函数 | 解释 |
---|---|
pd.DataFrame | Pandas库中的数据结构,用于存储和处理二维表格数据。 |
to_excel | Pandas DataFrame对象的方法,用于将数据写入Excel文件。 |
to_csv | Pandas DataFrame对象的方法,用于将数据写入CSV文件。 |
getcwd | os 库中的方法,返回当前工作目录路径。 |
如果这对您有所帮助,希望点赞支持一下作者! 😊
文章来源:https://blog.csdn.net/ThsPool/article/details/135079586
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!