Python - печать файла CSV в консоль в виде таблицы - PullRequest
0 голосов
/ 23 октября 2018

Я пытался напечатать 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 File

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

Из-за длины значений, которые я использую, и количества полей, которые у меня есть, часть столбцов сокращается, оставляя только часть информации.(Может быть, это работает для таблицы, которую я показал здесь, но в моем случае Fields AE может иметь до 20 символов каждая)

Я не встречал ни одного другого метода, который бы работал, чтобы дать мне первое значение, метод1 и 2 - те, которые я в основном пытался использовать для получения желаемого результата.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 23 октября 2018

В pandas вы можете настроить максимальную длину строки, используя параметр max_colwidth:

pd.set_option("display.max_colwidth", 10000) have
0 голосов
/ 23 октября 2018

Учитывая желаемое форматирование, использование Pandas будет лучшим выбором.Чтобы обойти эллипсы для столбцов, вы можете изменить параметр display.max_columns для панд.

Пример:

import pandas as pd

file = "file.csv"
df = pd.read_csv(file)
pd.options.display.max_columns = len(df.columns)
print(df)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...