python - Python - 将 CSV 文件作为表格打印到控制台中
问题描述
我一直在尝试将 csv 文件打印到控制台中,使其结构类似于表格。
--> 期望的输出:
Key Field_1 Field_2 Field_3 Field_4
A0 B0 C0 D0 E0
A1 B1 C1 D1 E1
A2 B2 C2 D2 E2
但是,我尝试过的下一个方法却无法获得它。
--> CSV 文件
Key,Field_1,Field_2,Field_3,Field_4
A0,B0,C0,D0,E0
A1,B1,C1,D1,E1
A2,B2,C2,D2,E2
--> 方法一:
import csv
file = "file.csv"
opened = open(file, "r")
readed = csv.reader(opened, delimiter=",")
for row in readed:
print(row)
--> 方法一的输出:
["Key", "Field_1", "Field_2", "Field_3", "Field_4"]
["A0", "B0", "C0", "D0", "E0"]
["A1", "B1", "C1", "D1", "E1"]
["A2", "B2", "C2", "D2", "E2"]
方法 1 正确打印了我所有的值,但我没有找到任何方法,所以它像我想要的输出一样打印。
--> 方法二:
import pandas as pd
file = "file.csv"
opened = open(file, "r")
readed = pd.read_csv(file)
print(readed)
--> 方法二的输出:
Key Field_1 ... Field_4
A0 B0 ... E0
A1 B1 ... E1
A2 B2 ... E2
由于我使用的值的长度和我拥有的字段数量,部分列被删除,只留下部分信息。(也许它适用于我在这里展示的表格,但在我的情况下,字段 AE 可能每个最多有 20 个字符)
我还没有遇到任何其他可以为我提供第一个值的方法,方法 1 和 2 是我最常尝试使用的方法来获得所需的输出。
谢谢。
解决方案
鉴于您想要的格式,使用 Pandas 将是您最好的选择。要绕过列的省略号,您可以更改display.max_columns
Pandas 的选项。
例子:
import pandas as pd
file = "file.csv"
df = pd.read_csv(file)
pd.options.display.max_columns = len(df.columns)
print(df)
推荐阅读
- java - 将 Java 对象列表序列化为 yaml 的最佳方法,使用 2 个换行符分隔每个生成的顶级对象节点
- python - 使用 numpy 高效计算多个点积
- javascript - JavaScript - 如何返回数组中的最大数?
- java - KafkaAvroDeserializer 因 Kyro 异常而失败
- javascript - 为Angular模板html提供动态ID
- d3.js - 在 D3 中,如何通过异步函数更新全局值?
- node.js - Puppeteer 拦截页面 ws
- sql-server - 触发器调用存储过程
- c# - 我可以获得系统变量路径来读取/写入 xml 吗?
- swift - UIButton 有时仅在按下时才响应