Python-将CSV文件作为表格打印到控制台中

时间:2018-10-23 18:15:50

标签: python python-3.x pandas csv printing

我一直试图将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

->方法1:

import csv

file = "file.csv"
opened = open(file, "r")
readed = csv.reader(opened, delimiter=",")
for row in readed:
    print(row)

->方法1的输出:

["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可以正确地打印所有值,但是我没有找到任何方法可以像我期望的输出一样打印出来。

->方法2:

import pandas as pd

file = "file.csv"
opened = open(file, "r")
readed = pd.read_csv(file)
print(readed)

->方法2的输出:

Key   Field_1   ...   Field_4
A0    B0        ...        E0
A1    B1        ...        E1
A2    B2        ...        E2

由于Im使用的值的长度和我拥有的字段数,部分列被删去了,只留下了部分信息。 (也许它适用于我在此处显示的表格,但在我的情况下,字段A-E最多可以包含20个字符)

我还没有遇到过其他任何可以给我第一个值的方法,方法1和2是我通常试图用来获得所需输出的方法。

谢谢。

2 个答案:

答案 0 :(得分:1)

鉴于您想要的格式,使用Pandas将是您的最佳选择。要绕过列的省略号,可以更改Pandas的AppCompatActivity选项。

示例:

display.max_columns

答案 1 :(得分:0)

在熊猫中,您可以使用max_colwidth选项配置最大字符串长度:

aggregate(data.frame(count = distributor), list(value = distributor), length)